溫馨提示×

android setshadowlayer怎么實現動態陰影

小樊
107
2024-12-07 22:45:57
欄目: 編程語言

在Android中,您可以使用setShadowLayer()方法為視圖動態創建陰影。以下是如何使用此方法的示例:

  1. 首先,在布局文件中創建一個視圖(例如TextView):
<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:layout_marginTop="50dp"
    android:layout_marginLeft="50dp"/>
  1. 然后,在Activity或Fragment的Java或Kotlin代碼中,通過ID查找視圖,并使用setShadowLayer()方法設置陰影的屬性:

Java示例:

import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView textView = findViewById(R.id.textView);

        // 設置陰影層
        float radius = 10f; // 陰影半徑
        int color = Color.BLACK; // 陰影顏色
        PorterDuff.Mode mode = PorterDuff.Mode.SRC_IN; // 陰影模式
        textView.setShadowLayer(radius, 0, 0, color);
    }
}

Kotlin示例:

import android.graphics.PorterDuff
import android.graphics.Rect
import android.graphics.drawable.Drawable
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 設置陰影層
        val radius = 10f // 陰影半徑
        val color = Color.BLACK // 陰影顏色
        val mode = PorterDuff.Mode.SRC_IN // 陰影模式
        textView.setShadowLayer(radius, 0, 0, color)
    }
}

在這個例子中,我們為TextView設置了一個半徑為10像素的黑色陰影。您可以根據需要調整這些值以獲得所需的陰影效果。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女