I want to round the corner of the button. Is there an easy way to do this in Android?
#1 building
Create an xml file in the drawable folder as follows
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <!-- you can use any color you want I used here gray color--> <solid android:color="#ABABAB"/> <corners android:radius="10dp"/> </shape>
Apply this as a background to the button you want to round the corner.
Or you can use a separate radius for each corner below
android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" android:topLeftRadius="10dp" android:topRightRadius="10dp"
#2 building
If you want something like this
This is the code.
1. Create an XML file in the paintable folder in mybutton.xml and paste the following tags:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#345953" android:endColor="#689a92" /> </shape> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <solid android:color="#58857e"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" /> </shape> </item> </selector>
2. Now use this drawable as the background of the view. If the view is a button, then something like this:
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:textColor="#ffffff" android:background="@drawable/mybutton" android:text="Buttons" />
#3 building
Create shape.xml in the drawable folder
Like shape.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="2dp" android:color="#FFFFFF"/> <gradient android:angle="225" android:startColor="#DD2ECCFA" android:endColor="#DD000000"/> <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" /> </shape>
And in myactivity.xml
You can use the
<Button android:id="@+id/btn_Shap" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Shape" android:background="@drawable/shape"/>
#4 building
The easy way I found out was to create a new xml file in the drawable folder, and then point the button background to that xml file. Inherited the code I used:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ff8100"/> <corners android:radius="5dp"/> </shape>
#5 building
Create the grouped btn.xml file in the Drawable folder
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/#FFFFFF"/> <stroke android:width="1dp" android:color="@color/#000000" /> <padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp" /> <corners android:bottomRightRadius="5dip" android:bottomLeftRadius="5dip" android:topLeftRadius="5dip" android:topRightRadius="5dip"/> </shape>
And use this.xml file as the button background
<Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/rounded_btn" android:text="Test" />