我创建了一个带有 4x6 按钮网格的 Android 应用程序。这些按钮都应该有不同的背景颜色。
我可以通过创建 24 个自定义形状来实现这一点,例如drawable\red_botton.xml
, drawable\green_botton.xml
, ... 并将它们设置为android:background
属性。
但这会产生大量冗余的 xml 代码。有没有更好的办法?
我创建了一个带有 4x6 按钮网格的 Android 应用程序。这些按钮都应该有不同的背景颜色。
我可以通过创建 24 个自定义形状来实现这一点,例如drawable\red_botton.xml
, drawable\green_botton.xml
, ... 并将它们设置为android:background
属性。
但这会产生大量冗余的 xml 代码。有没有更好的办法?
在 res/values 文件夹中创建 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));
或者你可以在你的布局文件中设置。