Search code examples
androidandroid-drawable

Drawable resource with multiple color using layer-list in Android


I'm trying to make a drawable resource using layer-list which looks like this below.

enter image description here

is it possible?


Solution

  • Yes, Its possible,

    Code

    <?xml version="1.0" encoding="utf-8"?><!--<shape xmlns:android="http://schemas.android.com/apk/res/android">-->
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:right="@dimen/_199sdp">
            <shape>
                <solid android:color="#FFFFFF" />
                <size
                    android:width="@dimen/_1sdp"
                    android:height="@dimen/_42sdp" />
                <!--                <corners android:radius="@dimen/_8sdp"/>-->
            </shape>
        </item>
    
        <item android:left="@dimen/_199sdp">
            <shape>
                <solid android:color="#FF0000" />
                <size
                    android:width="@dimen/_1sdp"
                    android:height="@dimen/_42sdp" />
                <!--                <corners android:radius="@dimen/_8sdp"/>-->
            </shape>
        </item>
    
        <item android:top="@dimen/_41sdp">
            <shape>
                <solid android:color="#673AB7" />
                <size
                    android:width="@dimen/_200sdp"
                    android:height="@dimen/_1sdp" />
                <!--                <corners android:radius="@dimen/_8sdp"/>-->
            </shape>
        </item>
    
        <item android:bottom="@dimen/_41sdp">
            <shape>
                <solid android:color="#CDDC39" />
                <size
                    android:width="@dimen/_200sdp"
                    android:height="@dimen/_1sdp" />
                <!--                <corners android:radius="@dimen/_8sdp"/>-->
            </shape>
        </item>
    
        <item android:left="@dimen/_1sdp" android:right="@dimen/_1sdp" android:top="@dimen/_1sdp" android:bottom="@dimen/_1sdp">
            <shape>
                <solid android:color="@color/trans" />
                <size
                    android:width="@dimen/_200sdp"
                    android:height="@dimen/_42sdp" />
                <!--                <corners android:radius="@dimen/_8sdp"/>-->
            </shape>
        </item>
    </layer-list>
    

    Output

    enter image description here