在drawable文件夹中分别创建drawable文件具体代码如下图
//thumb_off
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="30dp"/>
<size android:width="30dp" android:height="30dp"/>
<solid android:color="@android:color/white"/>
<stroke android:color="@android:color/darker_gray" android:width="2dp"/>
</shape>
//thumb_on
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="30dp"/>
<size android:width="30dp" android:height="30dp"/>
<solid android:color="@android:color/white"/>
<stroke android:width="2dp" android:color="@android:color/holo_blue_bright"/>
</shape>
//thumb
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/thumb_on" android:state_checked="true"/>
<item android:drawable="@drawable/thumb_off" android:state_checked="false"/>
</selector>
//track_off
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="30dp" />
<solid android:color="@android:color/darker_gray" />
<size android:height="30dp" />
</shape>
//track_on
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="30dp" />
<solid android:color="@android:color/holo_green_dark" />
<size android:height="30dp" />
</shape>
//track
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/track_on" android:state_checked="true" />
<item android:drawable="@drawable/track_off" android:state_checked="false" />
</selector>
//switch
<Switch
android:track="@drawable/track"
android:switchMinWidth="60dp"
android:layout_width="120dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tv"
android:text="Wifi开关"
android:thumb="@drawable/thumb"
android:id="@+id/sw"
android:layout_marginTop="60dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
效果如图所示