我的可绘制文件夹中有一个自定义按钮。我想在我的 XML 文件中多次使用它,使用不同的颜色。有没有办法使用相同的 custom_button 但颜色不同?
问问题
78 次
1 回答
0
首先创建一个选择器 xml 文件。选择器将让您更改特定状态下的按钮图像,例如焦点或按下。我给你选择器的示例代码
<?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);
只需使用不同颜色的图像作为背景,并在您希望更改背景时使用上面的代码
于 2012-10-13T10:23:27.723 回答