Android: TextColor Of Disabled Button In Selector Not Showing?


Answer :

You need to also create a ColorStateList for text colors identifying different states.

Do the following:

  1. Create another XML file in res\color named something like text_color.xml.

    <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">   <!-- disabled state -->   <item android:state_enabled="false" android:color="#9D9FA2" />    <item android:color="#000"/> </selector> 
  2. In your style.xml, put a reference to that text_color.xml file as follows:

    <style name="buttonStyle" parent="@android:style/Widget.Button">   <item name="android:textStyle">bold</item>   <item name="android:textColor">@color/text_color</item>   <item name="android:textSize">18sp</item> </style> 

This should resolve your issue.


1.Create a color folder in /res/ folder and in color folder create on xml:

text_color_selector.xml

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">  <!-- disabled state -->  <item android:state_enabled="false" android:color="#776678" />   <item android:color="#ffffff"/> </selector> 

2.Now Create a xml layout:-

 <Button          android:id="@+id/button_search"          android:layout_width="652dp"          android:layout_height="48dp"          android:layout_alignParentLeft="true"          android:layout_alignParentTop="true"          android:layout_marginTop="18dp"          android:background="@android:color/transparent"          android:text="Hello Bhaskar"          android:textColor="@color/text_color_selector"/>   

The most easy solution is to set color filter to the background image of and button as I saw here

You can do as follow:

if ('need to set button disable')     button.getBackground().setColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY); else     button.getBackground().setColorFilter(null); 

Hope I helped someone...


Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable