Search code examples
androidandroid-buttonrounded-corners

How to make the corners of a button round?


I want to make the corners of a button round. Is there an easy way to achieve this in Android?


Solution

  • If you want something like this

    Button preview

    here is the code.

    1.Create a xml file in your drawable folder like mybutton.xml and paste the following markup:

    <?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 for the background of your view. If the view is 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" />