0

When my button disabled i need remove text shadow effect and when button enable I need add this effect again.

selector_btn.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item
    android:drawable="@drawable/btn_disabled"
    android:state_enabled="false" />

<item
    android:drawable="@drawable/btn_pressed"
    android:state_pressed="true" />

<item
    android:drawable="@drawable/btn_default" />

styles.xml

    <style name="TextShadow">
    <item name="android:textColor">#ffffffff</item>
    <item name="android:shadowColor">#0D67B9</item>
    <item name="android:shadowRadius">2.0</item>
    <item name="android:shadowDy">-2.0</item>
</style>

<style name="BigButton" parent="TextShadow">
    <item name="android:background">@drawable/selector_btn</item>
</style>
user3134124
  • 387
  • 4
  • 16

1 Answers1

1
  You have make 2 defferent styles for enable and disable  condition and apply it to    textview when it disable or vise versa ...                     
            <style name="TextShadow_disable">
              <item name="android:textColor">#ffffffff</item>
               <item name="android:shadowColor">#0D67B9</item>
              <item name="android:shadowRadius">0</item>
             <item name="android:shadowDy">0</item>
              </style>
             <style name="TextShadow_enable">
              <item name="android:textColor">#ffffffff</item>
             <item name="android:shadowColor">#0D67B9</item>
             <item name="android:shadowRadius">2.0</item>
             <item name="android:shadowDy">-2.0</item>
            </style>

          textstyle = (TextView) findViewById(R.id.mytext);
          textstyle.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    getTextStyle();

                }
            });

write down this method to check enable disable;

     public void  getTextStyle()  {
           if(textstyle.isEnabled()){
                 textstyle.setTextAppearance(this, R.style.TextShadow_enable);
                }
             else{
                   textstyle.setTextAppearance(this, R.style.TextShadow_disable);
                }
          }   
AndroidLad
  • 687
  • 7
  • 14
  • Thanks a lot) It's works)But I implemented my own button and override drawableStateChangedmethod() that listen state change event. And there change text style every time, when state change. – user3134124 Apr 08 '14 at 09:07