web-dev-qa-db-ja.com

スイッチをカスタマイズする方法android

enter image description here

このタイプのスイッチをアプリに実装する必要があります

3
Solanki Zeel

以下のコードを使用できます。 thumb_selectorファイルで高さと幅を調整する必要があるかもしれません

<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>
12
Rahul Khurana