Android: использование атрибутов в селекторе

Я пытаюсь создать селектор, который использует атрибуты, определяемые выбранной темой.

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 метод.

Теперь проблема в том, что цвет текста RED в несжатом состоянии (и черный при нажатии). Кажется, он не может найти buttonTextColor и использует по умолчанию RED(?)

Уже пытался установить тему в контексте приложения, но не повезло..

Заранее спасибо.

0 ответов

Другие вопросы по тегам