Я хочу изменить цвет текста моей кнопки при изменении состояния кнопки. Например, когда кнопка отключена, я хочу, чтобы цвет был серым, когда она включена, я хочу, чтобы она была белой и так далее. Итак, чтобы добиться этого, я сделал это в своем файле styles.xml:
res/drawable/styles.xml
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
..
<item name="android:buttonStyle">@style/AppTheme.Button</item>
..
</style>
<style name="AppTheme.Button" parent="android:Widget.Button">
<item name="android:background">@drawable/shadow_button</item>
<item name="android:textColor">@drawable/shadow_button_text</item>
...
</style>
Я определил поведение кнопки в зависимости от ее состояний в XML-файле ресурсов shadow_button. Я решил сделать новый, чтобы изменить цвет текста в зависимости от состояния, как это было предложено в этот пост:
res/drawable/shadow_button_text.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:color="@color/darkRed" />
<item android:state_pressed="true" android:color="@color/darkRed" />
<item android:state_enabled="false" android:color="@color/darkGrey" />
<item android:color="@color/darkRed" />
</selector>
К сожалению, ничего не меняется - цвет текста остается белым. Что я делаю не так?
Редактировать: Извините, ребята, оказалось, что я оставил textColor="white" на кнопке в действии, которое я тестирую вышеприведенный код. Я удалил этот тег, и все заработало нормально.
styles.xml
файлы?? Этот код работает нормально. - person dieter_h   schedule 18.08.2015