1

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

    <?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>
4

1 回答 1

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 ,但包含禁用按钮的外观

于 2013-03-19T17:25:39.313 回答