Искам да променя цвета на текста на моя бутон, когато състоянието на бутона се промени. Например, когато бутонът е деактивиран, искам цветът да е сив, когато е активиран, искам да е бял и т.н. И така, за да постигна това, направих това в моя файл 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