Android Switch控件修改样式

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{//未选中
           
        }

    }


猜你喜欢

转载自blog.csdn.net/weixin_37730482/article/details/79553613