我在哪里保存选择器颜色在android上

时间:2014-02-15 19:42:18

标签: android android-layout selector android-resources

这是我的选择器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" android:color="@color/black"/>
    <item android:color="@color/white"/>

</selector>

显然我无法将其保存在/drawable文件夹中,因为我的android无法编译。然后如果我在/color中创建一个res文件夹,我会从eclipse中得到一个红色标记。那么我在哪里保存我的选择器,以便我可以将它用作TextView(或任何其他视图)的背景颜色。

我的值中有colors.xml个文件,但是如何为其添加选择器?

实际解决方案

我发布此修改以防其他人需要帮助。我希望你能节省一些时间。

对于正确答案,我做了以下

strings.xml

<drawable name="black_drawable">@color/black</drawable>
<drawable name="white_drawable">@color/white</drawable>

colors.xml

<color name="black">#000000</color>
<color name="white">#ffffff</color>

然后在选择器中,我做了

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/black_drawable" android:state_pressed="true"/>
    <item android:drawable="@drawable/white_drawable"/>

</selector>

选择器保存在/drawable selector_black_white.xml

2 个答案:

答案 0 :(得分:1)

最后一次编辑我在之前的编辑中搞砸了很抱歉我的不好这个现在正在工作 RES /可绘

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" android:drawable="@color/whiteColor"/>
    <item android:drawable="@color/backColor"/>

</selector>

然后在您的res / value /字符串上或创建新值颜色

<color name="whiteColor">#000000</color>



 <color name="backColor">#ffffff</color>

答案 1 :(得分:1)

我认为你的问题不是位置 - 它应该在/ res / color文件夹中。问题在于如何指定颜色:

  <item android:color="@color/ffffff"/>

应该是

   <item android:color="#ffffff"/>