How to customize switch in android [closed]
Asked Answered
R

1

13

enter image description here

I need to implement this type of switch in my app

Rattlebox answered 26/2, 2019 at 6:45 Comment(3)
Welcome to Stack Overflow, well your question shows lack of research here, and FYI StackOverflow is neither a forum, tutorial site nor web search replacement. We can help with certain problems, but it's your job to put some efforts in the first place, including elementary (re)search. Read how to ask perfect questionGreatuncle
Possible duplicate of How to custom switch button?Disposed
Take a look at this library it can do exactly what you want github.com/Angads25/android-toggleHypha
I
33

You can use below given code. You might need to adjust height and width in thumb_selector file

<android.support.v7.widget.SwitchCompat
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="true"
    android:thumb="@drawable/thumb_selector"
    app:track="@drawable/track_selector" />

track_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true">
        <shape android:dither="true" android:shape="rectangle" android:useLevel="false" android:visible="true">
            <solid android:color="@color/light_pink" />
            <corners android:radius="50dp" />
            <size android:width="2dp" android:height="24dp" />
        </shape>
    </item>
    <item android:state_checked="false">
        <shape android:dither="true" android:shape="rectangle" android:useLevel="false" android:visible="true">

            <corners android:radius="50dp" />
            <size android:width="2dp" android:height="24dp" />
            <stroke
                android:width="2dp"
                android:color="@color/white" />
        </shape>
    </item>
</selector>

thumb_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false">
        <shape android:dither="true" android:shape="rectangle" android:useLevel="false" android:visible="true">
            <solid android:color="#ffffff" />
            <corners android:radius="100dp" />
            <size android:width="18dp" android:height="18dp" />
            <stroke android:width="4dp" android:color="#0000ffff" />
        </shape>
    </item>
</selector>
Iotacism answered 26/2, 2019 at 6:50 Comment(1)
Using Rectangle here is not correct. Please use android:shape="oval"Sample

© 2022 - 2024 — McMap. All rights reserved.