Android 创建自定义平面开关
我想制作一个自定义开关,如下所示 我已经为它创建了两个可绘制资源,一个是switch_bg,另一个是tracker_bg switch_bg.xmlAndroid 创建自定义平面开关,android,xml,android-switch,Android,Xml,Android Switch,我想制作一个自定义开关,如下所示 我已经为它创建了两个可绘制资源,一个是switch_bg,另一个是tracker_bg switch_bg.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/thumb_on"
<?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_pressed="true" />
<item android:drawable="@drawable/thumb_off" android:state_enabled="false" />
<item android:drawable="@drawable/thumb_on" android:state_checked="true" />
<item android:drawable="@drawable/thumb_off" />
</selector>
tracker_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_tracker" android:state_enabled="false" />
<item android:drawable="@drawable/ic_tracker" android:state_pressed="true" />
<item android:drawable="@drawable/ic_tracker" android:state_checked="true" />
<item android:drawable="@drawable/ic_tracker" />
</selector>
在主xml中,我输入了以下代码
<Switch
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:layout_marginRight="20dp"
android:thumb="@drawable/switch_bg"
android:track="@drawable/track_bg"/>
请告诉我我做错了什么或我缺少了什么。试试这个示例,它可能会对你有所帮助。看起来你的代码很好是的,但我没有从上面的代码中得到想要的结果。@drawable/thumb\u on和@drawable/thumb\u off是图像文件或xml?它是图像文件。正如我所知,您应该创建一个通用的可绘制文件,并将其设置为可绘制文件,然后使用拇指和轨迹进行体验。