2016-04-05 18 views
1

ich zu meinem benutzerdefinierten RadioButton- versuchen, dass ich so aussehen zu machen versuchen zu:macht Benutzerdefinierte RadioButton- mit Bild auf Mitte

Expected Result

So habe ich benutzerdefinierten Drawables, die auf den RadioButton- Status reagieren und verwendet es als Hintergrund. Das ist in Ordnung.

Das Problem ist, dass ich nicht in der Lage, die Bilder zu zentrieren, die ich über die android:button Atribute festgelegt habe.

Hier ist, wie ich versuche, es in meinem Layout zu verwenden.

<RadioGroup 
     android:id="@+id/presenter_options" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:padding="4dp" 
     android:gravity="center" 
     > 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:button="@drawable/cluster_centered" 
      android:gravity="center" 
      android:padding="8dp" 
      android:background="@drawable/presenter_radiobutton_left" 
      /> 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:padding="8dp" 
      android:background="@drawable/presenter_radiobutton_right" 
      android:button="@drawable/fire" 
      /> 

</RadioGroup> 

Damit erhalte ich dies als Ergebnis:

Actual result

Ich habe bereits versucht, eine ziehbar zu definieren, die die Schwerkraft zum Zentrum setzt, aber nichts geändert. Hier ist der Brauch ziehbar:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <bitmap android:src="@drawable/cluster" android:gravity="center"/> 
    </item> 
</selector> 

Also, wie kann ich die Schaltfläche Bilder zentrieren?

PS: Ich kann nicht jede Art von Schaltfläche als Hintergrund festlegen, weil es in Zukunft dynamisch sein wird, so dass das einzige, was im Hintergrund sein könnte, ist die blaue Form.

Antwort

1

Meine Lösung war android:[email protected], dann legen Sie das Bild, das ich möchte in das Attribut android:drawableLeft. Also mein RadioButton-Code ist wie folgt:

<RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:padding="8dp" 
      android:background="@drawable/presenter_radiobutton_left" 
      android:button="@null" 
      android:drawableLeft="@drawable/fire" 
      />