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