2010-12-30 12 views
0

Wie erstelle ich eine Gruppe von Radio-Tasten, wo die Tasten wie schöne Lager Android-Tasten aussehen?Radio-Tasten: Ersetzen der Lager runden mit integrierten Android-Tasten

Dies ist, was ich bisher gefunden habe:

Das Aussehen eines Radiobuttons mit 4 drawables.There ersetzt werden kann, ist ein Beispiel dafür auf dem Netz.


Dies funktioniert nicht für mich. Also habe ich zwei schlechte Entscheidungen herausgefunden:

(A) Verwenden Sie Lager Schaltflächen -do die Radio-Logik in Java. Brutto.

(B) Rendern Sie die Schaltflächen für Zeichen, um sie zur Laufzeit festzulegen. Blah

Alle Ideen werden sehr geschätzt.

(Dies ist meine erste Frage hier Hoffe, dass es gut formuliert ist..)

Antwort

2

Verwenden RadioButton- und geben android:button="@drawable/mybutton", wo res/ziehbar/mybuton.xml eine benutzerdefinierte enthält <selector>:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:state_window_focused="false" 
      android:drawable="@drawable/btn_radio_on" /> 
    <item android:state_checked="false" android:state_window_focused="false" 
      android:drawable="@drawable/btn_radio_off" /> 

    <item android:state_checked="true" android:state_pressed="true" 
      android:drawable="@drawable/btn_radio_on_pressed" /> 
    <item android:state_checked="false" android:state_pressed="true" 
      android:drawable="@drawable/btn_radio_off_pressed" /> 

    <item android:state_checked="true" android:state_focused="true" 
      android:drawable="@drawable/btn_radio_on_selected" /> 
    <item android:state_checked="false" android:state_focused="true" 
      android:drawable="@drawable/btn_radio_off_selected" /> 

    <item android:state_checked="false" android:drawable="@drawable/btn_radio_off" /> 
    <item android:state_checked="true" android:drawable="@drawable/btn_radio_on" /> 
</selector> 

Diese ist eigentlich das Original selector for RadioButton.

+0

Genau das, was ich brauche. Ich habe meine Knöpfe in Betrieb. Vielen Dank. –

+0

Dann akzeptieren Sie die Antwort. –