温馨提示×

android setshadowlayer如何动态改变阴影

小樊
83
2024-12-07 21:53:53
栏目: 编程语言

在Android中,要动态更改阴影层,可以使用View类的setElevation()方法来设置阴影的偏移量、大小和颜色。以下是如何使用setElevation()方法动态更改阴影的示例:

首先,在布局文件中创建一个View并设置其ID:

<View
    android:id="@+id/my_view"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:background="@color/colorPrimary"/>

接下来,在Activity或Fragment中,使用findViewById()方法获取View的引用,并使用setElevation()方法动态更改阴影:

import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

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

        View myView = findViewById(R.id.my_view);

        // 设置阴影偏移量(dp)
        float elevation = 10;
        myView.setElevation(elevation);

        // 更改阴影颜色
        int shadowColor = getResources().getColor(android.R.color.darker_gray);
        myView.setElevation(elevation, shadowColor);
    }
}

在这个示例中,我们首先设置了阴影偏移量,然后更改了阴影颜色。您可以根据需要调整这些值。

0