Android:在选择器中使用属性

时间:2014-03-06 15:12:16

标签: android attributes android-selector

我正在尝试创建一个使用由所选主题定义的属性的选择器。

attrs.xml

<declare-styleable name="ThemeColors">
    <attr name="buttonTextColor" format="color" />
</declare-styleable>

selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:color="@android:color/black" />
    <item android:color="?attr/buttonTextColor"/>
</selector>

主题:

<style name="Theme.Test" parent="@style/Theme.AppCompat">
    <item name="buttonTextColor">@android:color/white</item>
</style>

部分布局文件:

  <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/test"
        android:textColor="@drawable/selector" />

清单

<application
    ...
    android:theme="@style/Theme.Test" >

布局文件由setContentView方法夸大。

现在的问题是textcolor在未压缩状态下为RED(按下时为黑色)。它似乎无法找到buttonTextColor并使用默认的RED(?)

已经尝试将主题设置为Application Context,但没有运气..

提前致谢。

0 个答案:

没有答案