2015-11-30 60 views
2

我想制作一个自定义开关,如下所示。创建自定义平面开关android

enter image description here

enter image description here

我创建为一二绘制资源是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" 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"/> 

请指导我我做错了什么或者我身边缺少什么东西。

+0

好像你的代码很好 – droidev

+0

是的,但我没有从上面的代码得到欲望的结果。 –

+0

@ drawable/thumb_on和@ drawable/thumb_off是图像文件还是xml? – droidev

回答

0

试试这个样本,它可能会帮助你。 Click here