пользовательская кнопка переключения в андроиде

Я добавил пользовательскую кнопку переключения, и она отлично работает. проблема в том, что для включения и отключения кнопки переключения. Мне нужен другой макет для кнопки включения, кнопки выключения, кнопки включения и отключения, кнопки включения и включения, кнопки выключения и отключения и кнопки выключения и включения. Вот код включения/выключения. Как сделать ??

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

person Tushar Kanani    schedule 19.03.2013    source источник


Ответы (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, но содержать внешний вид отключенной кнопки.

person MalaKa    schedule 19.03.2013