我的drawable文件夹中有一个自定义按钮。 我想在我的XML文件中多次使用它,颜色不同。 有没有办法使用相同的custom_button但颜色不同?
答案 0 :(得分:0)
首先创建一个选择器xml文件.Selector将允许您更改特定状态(如聚焦或按下)的按钮图像。 我给你选择器的示例代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/ok_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/ok" />
</selector>
现在使用StateListDrawable,您可以将多个图形图像分配给单个Drawable,并通过字符串ID值替换可见项。
StateListDrawable state_up = new StateListDrawable();
state_up.addState(new int[] {android.R.attr.state_pressed},getResources().getDrawable(R.drawable.btn_up_cyan));
state_up.addState(new int[] {android.R.attr.state_focused},getResources().getDrawable(R.drawable.btn_up_cyan));
b1.setBackgroundDrawable(state_up);
只需使用不同颜色的图像作为背景,并在您想要更改背景时使用上述代码