2012-10-13 91 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); 

只要使用不同顏色的圖像作爲背景,當你想改變的背景