在Android中,setShadowLayer()
方法用于为视图添加阴影。要实现阴影颜色变化,您需要使用setShadowLayer(float radius, float xOffset, float yOffset, int color)
方法,并为其提供不同的颜色值。这里是一个简单的示例:
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 创建一个颜色值,其中alpha通道用于阴影透明度,RGB通道用于阴影颜色
int shadowColor = Color.argb(128, 0, 0, 0); // 半透明的黑色阴影
// 为按钮添加阴影层,设置阴影半径、偏移量和颜色
button.setShadowLayer(10, 5, 5, shadowColor);
}
});
}
}
在这个示例中,我们为按钮添加了一个半透明的黑色阴影。当用户点击按钮时,阴影颜色会发生变化。要实现不同的阴影颜色,只需更改shadowColor
变量的值即可。例如,您可以使用Color.argb(255, 0, 0, 0)
创建一个不透明的黑色阴影,或者使用Color.argb(128, 255, 0, 0)
创建一个半透明的绿色阴影。