Problem :
And Custom background for my button, layout, textview, edittext and for all. This is a very nice look if you can add a custom background on your button. Suppose when someone click your android button it will be different background color or text color or any image.Solution:
First in your android app/res/drawable/ folder add alert_button.xml file which will contain the following code:
-------------------------------------------
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" > <shape> <gradient android:startColor="#FF0000" android:endColor="#FF1223" android:angle="270" /> <stroke android:width="2dp" android:color="#dcdcdc" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item android:state_focused="true" > <shape> <gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7" android:angle="270" /> <stroke android:width="2dp" android:color="#dcdcdc" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item> <shape> <gradient android:startColor="@color/red_deep" android:endColor="@color/red_light" android:angle="270" /> <stroke android:width="2dp" android:color="#A6A6A6" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> </selector>
You have done the most part of your custom xml background for you simple button.
Now in activity.xml file use it by this way,
-------------------------------------------
<Button
android:text="Reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="@drawable/alert_button"
android:textColor="@color/white"
android:textStyle="bold"
android:id="@+id/btn_reset"
android:gravity="center"
/>
-------------------------------------------And you have completed your work and see the result. I think that more awesome and pretty. In my case this is look like this when I'm clicking/pressed on the button
Now See precious look is(Reset Button is little dark):
Now See after applying the code and clicking on Reset Button (It is now more dark red as our defined style from XML):
Code Explanation:
Now come to code explanation, it is a very simple code. To add a condition for pressed state just make an item inside <selector>...</selector><item android:state_pressed="true" >
Then, inside <shape> just add the pressed color. We have to set two color Just do this:
<gradient android:startColor="#FF0000" android:endColor="#FF1223" android:angle="270"
/>
And without any state that means when no click,pressed, focused the code will look like this:
<item> <shape> <gradient android:startColor="@color/red_deep" android:endColor="@color/red_light" android:angle="270" /> <stroke android:width="2dp" android:color="#A6A6A6" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item>
In this case additional padding is just for beautify.
I think all is clear to you now, Happy coding with android...
0 comments:
Post a Comment