Search code examples
androidxmldrawable

How to draw Line with rounded corners in Android xml drawables


I want to draw a line in the XML with rounded corners.I am not getting how to create that.I want to use this line for the Seekbar. I want to give rounded corners to the line just like rectangle.

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
    <shape android:shape="line">
        <stroke
            android:width="5dp"
            android:color="#7b7878" />
    </shape>
</item>
<item android:id="@android:id/progress">
    <clip>
        <shape android:shape="line">
            <stroke
                android:width="5dp"
                android:color="#FF0000" />
        </shape>
    </clip>
</item>


Solution

  • you can do it like this

        //seek_bar.xml
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/seek_bar_background"/>
    <item android:id="@android:id/progress"
        android:drawable="@drawable/seek_bar_progress" />
    </layer-list>
    
    //seek_bar_background.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <gradient
        android:angle="270"
        android:startColor="#8a8c8f"
        android:endColor="#58595b" />
    
    <corners android:radius="5dip" />
    
    </shape>
    
    //seek_bar_progress.xml
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/seek_bar_background"/>
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/seek_bar_progress_fill" />
    </item>
    
    </layer-list>
    
    //seek_bar_progress_fill.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <gradient
        android:startColor="#b3d27e"       
        android:endColor="#93c044"
        android:angle="270"
     />
     <corners android:radius="5dip" />  
    
    </shape>
    

    Ref link