android中的自定义切换按钮

时间:2013-03-19 17:01:52

标签: android custom-controls togglebutton

我添加了一个自定义切换按钮,它工作正常。 问题是切换按钮启用和禁用。 按钮打开,按钮关闭,按钮打开和按钮需要不同的布局。禁用,按钮和&启用,按钮关闭&禁用和按钮关闭&启用。 这是开/关的代码。 怎么办?

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true">
        <bitmap android:src="@drawable/button_pause_pressed"
          android:gravity="center_vertical|center_horizontal" />
    </item>
    <item android:state_checked="false">
        <bitmap android:src="@drawable/button_play_pressed_new"
          android:gravity="center_vertical|center_horizontal" />
    </item>        
</selector>

1 个答案:

答案 0 :(得分:1)

之前我没有这样做,但由于 StateList 是一个可绘制的,因此可能引用另一个包含选择器的XML文件。

这看起来像这样......
button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_enabled="true"
    android:drawable="@drawable/button_enabled"/>

    <item android:drawable=@drawable/button_disabled/>
</selector>


button_enabled.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
    <bitmap android:src="@drawable/button_pause_pressed"
      android:gravity="center_vertical|center_horizontal" />
</item>
<item android:state_checked="false">
    <bitmap android:src="@drawable/button_play_pressed_new"
      android:gravity="center_vertical|center_horizontal" />
</item>        
</selector>

button_disabled.xml 看起来像 button_enabled.xml ,但包含已停用按钮的外观..