0
我使用4x6網格按鈕創建了一個Android應用程序。這些按鈕應該都有不同的背景顏色。Android自定義彩色按鈕,避免冗餘代碼
我可以通過創建24個自定義形狀(如drawable\red_botton.xml
,drawable\green_botton.xml
,...)並將它們設置爲android:background
屬性來實現此目的。
但是這會產生大量冗餘的xml代碼。有沒有更好的辦法?
我使用4x6網格按鈕創建了一個Android應用程序。這些按鈕應該都有不同的背景顏色。Android自定義彩色按鈕,避免冗餘代碼
我可以通過創建24個自定義形狀(如drawable\red_botton.xml
,drawable\green_botton.xml
,...)並將它們設置爲android:background
屬性來實現此目的。
但是這會產生大量冗餘的xml代碼。有沒有更好的辦法?
在創建資源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));
上或者你可以在你的佈局文件中設置。
定義它沒有顏色和編程設置顏色: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
最後,我決定將背景屬性直接設置爲一種顏色,並使用簡單的結果彩色方塊作爲按鈕。無論如何,感謝提示'setColorFilter'! – Euro