Android Switch控件修改样式

it2024-12-24  9

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{//未选中 } }
最新回复(0)