2013-08-21 77 views
0

我使用4x6網格按鈕創建了一個Android應用程序。這些按鈕應該都有不同的背景顏色。Android自定義彩色按鈕,避免冗餘代碼

我可以通過創建24個自定義形狀(如drawable\red_botton.xml,drawable\green_botton.xml,...)並將它們設置爲android:background屬性來實現此目的。

但是這會產生大量冗餘的xml代碼。有沒有更好的辦法?

+1

定義它沒有顏色和編程設置顏色:http://stackoverflow.com/questions/2173936/how-to-set-background-color-of-a-view - 通過'.setColorFilter' http:// stackoverflow.com/questions/11036835/how-to-apply-a-color-filter-to-a-view-with-all-children – zapl

+0

最後,我決定將背景屬性直接設置爲一種顏色,並使用簡單的結果彩色方塊作爲按鈕。無論如何,感謝提示'setColorFilter'! – Euro

回答

1

在創建資源colors.xml文件/文件夾值:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<color name="black">#000</color> 
<color name="blue">#00f</color> 
<color name="red">#f00</color> 
</resources> 

然後用下面的代碼按鈕對象

btn.setBackgroundColor(getResources().getColor(R.color.red)); 

上或者你可以在你的佈局文件中設置。