Button selectors allows to define a background for each state of the button, but how can the button's text style be defined for each state? My objective is to grey out a button when disabled. So I set a greyed out background to the disable state of the button, but the only way I found to also grey out the text is to change it's color dynamically when I disable the button...
Anybody can help?
Thanks
<style name="srp_button" parent="@android:style/Widget.Button"> <item name="android:background">@drawable/btn_default</item> <item name="android:textColor">#ffffff</item> <!-- How to specify different color for different state? --> <!-- more stuff --> </style>
drawable/btn_default.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true"><shape> <solid android:color="@color/pink" /> <corners android:radius="6dp" /> </shape></item> <item><shape> <solid android:color="#000000" /> <corners android:radius="6dp" /> </shape></item> </selector>
Well!
You can define the Text color for all 4 state, similarly as you defined background for the Button
. For example:
file name: /res/color/text_color.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:color="#440000"/> <item android:state_focused="true" android:color="#004400"/> <item android:state_pressed="true" android:color="#000044"/> <item android:color="#444"/> </selector>
Take this file into your Button
Style like this:
<style name="srp_button" parent="@android:style/Widget.Button"> <item name="android:background">@drawable/btn_default</item> <item name="android:textColor">@color/text_color</item> <!-- Here is specified text color --> </style>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With