Android Switch控件修改样式

xiaoxiao2021-02-28  23

1.布局

<Switch            android:id="@+id/activity_setupswitch"            android:layout_width="55dp"            android:layout_height="wrap_content"            android:layout_alignParentRight="true"            android:layout_centerVertical="true"            android:layout_marginRight="20dp"            android:switchMinWidth="55dp"            android:thumb="@drawable/switch_custom_thumb_selector"

            android:track="@drawable/switch_custom_track_selector" />

2.switch_custom_thumb_selector

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/switch_custom_thumb_on" android:state_checked="true" />    <item android:drawable="@drawable/switch_custom_thumb_off" android:state_checked="false" />

</selector>

2.1.switch_custom_thumb_on

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval">    <solid android:color="@color/switch_color1" />    <size        android:width="25dp"        android:height="25dp" /></shape>

2.2.switch_custom_thumb_off

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval">    <solid android:color="@color/switch_color1" />    <size        android:width="25dp"        android:height="25dp" /></shape>

3.switch_custom_track_selector

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/switch_custom_track_on" android:state_checked="true" />    <item android:drawable="@drawable/switch_custom_track_off" android:state_checked="false" />

</selector>

3.1.switch_custom_track_on

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <solid android:color="@color/app_color" />    <corners android:radius="25dp" /></shape>

3.2.switch_custom_track_off

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <solid android:color="@color/switch_color2" />    <corners android:radius="25dp" /></shape>

4.使用

 mswitch= (Switch) findViewById(R.id.activity_setupswitch); mswitch.setOnCheckedChangeListener(this);

/**     * Switch监听事件     * */    @Override    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {        if(b){//选中                   }else{//未选中                   }

    }

转载请注明原文地址: https://www.6miu.com/read-2500057.html

最新回复(0)