Android编程让我发疯。 用于GUI开发的XML或可编程方法正在使代码成为正确的老狗早餐 - 这里有些东西,那里有些东西。
我目前的挫败感是试图保留所有XML,我想将TextView
的背景颜色设置为与Button
的背景色相同的颜色,而无需指定确切的颜色代码。 我想使用一个系统常量,类似于 java.awt.SystemColor.control
,但以 XML 指定。
无论如何,无需重新指定一堆东西就可以做到这一点吗? 我正在寻找这样的解决方案:android:background="{Insert constant here}"
.
你应该有一个名为 colors.xml 的 res/values 文件,它应该看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="grey">#7A7A7A</color>
<color name="background">#0044AA</color>
<color name="bluelight">#449DEF</color>
<color name="bluedark">#2F6699</color>
<color name="greenlight">#70C656</color>
<color name="greendark">#53933F</color>
<color name="orangelight">#F3AE1B</color>
<color name="orangedark">#BB6008</color>
<color name="black">#000000</color>
</resources>
然后你可以像这样调用xml中的颜色:
android:background="@color/greenlight"
"@color/white"之类的东西,或者对于Android系统常量,可以使用"@android:color/holo_red_light"。或者,如果您想要更多控制,您可以随时在可绘制对象中定义公共背景并将背景设置为"@drawable/mydrawable">
可用于 android:color 的资源列表(如 background_dark(: http://developer.android.com/reference/android/R.color.html
请查看此页面:http://android-er.blogspot.com/2010/03/using-color-in-android.html
您可以在 xml 中使用:"@android:color/white"。我想支持其他一些常见的颜色,但我不确定是哪些。
首选解决方案通常是创建自己的颜色.xml资源文件,并引用您放入其中的颜色文件。
这样用法android:background="#FF00FF"
:
你不需要使用 xml 文件来创建常量的 XML,
它可以帮助您:Java 常量文件