2012-10-13 68 views
0

我在我的可绘制文件夹中有一个自定义按钮。 我想在我的XML文件中多次使用它,并使用不同的颜色。 有没有办法使用相同的custom_button但颜色不同?将颜色更改为自定义按钮

+0

只是用不同的9补丁图像的不同颜色或创建XML文件 –

+0

多个自定义绘制定义使用上面的代码据我的理解(Rachita Nanda和K_Anas),我仍然需要为不同的按钮创建不同的可绘制文件。 我只是想知道,有没有办法改变我创建的每个按钮在可绘制xml中特定的中的颜色 – user1624426

回答

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你可以在许多图形图像的分配给一个字符串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); 

只要使用不同颜色的图像作为背景,当你想改变的背景