2010-12-07 13 views
4

alt textUnexpected RadioButton- Verhalten

Hier ist mein Layout:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#FFFFFFFF"> 

<RadioGroup 
    android:id="@+id/choices_group" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:layout_centerInParent="true" 
    android:orientation="vertical" 
    android:background="@drawable/rounded_bg" > 

    <RadioButton 
     android:id="@+id/choice_a" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_vertical" 
     android:padding="5dp" 
     android:text="Choice A" /> 

    <RadioButton 
     android:id="@+id/choice_b" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="Choice B" /> 

    <RadioButton 
     android:id="@+id/choice_c" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="Choice C" /> 

    <RadioButton 
     android:id="@+id/choice_d" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="Choice D" /> 
</RadioGroup> 
</RelativeLayout> 

Warum die Radio-Buttons werden über den Text überlagert?

+1

its a crappy Arbeit um, aber man kann Putting links padding auf dem Optionsfeld:/ – schwiz

Antwort

13

Problem war mit der Polsterung. Sobald ich die Polsterung entfernt hatte, funktionierte alles wie immer. Dies könnte ein Fehler sein.

+6

Der Vollständigkeit halber: Dies ist kein Fehler (zumindest nicht in Android). Das Label erhält ein transparentes Hintergrundbild, das ist ein 9-Patch mit viel Polsterung auf der linken Seite. Diese Auffüllung entspricht der Größe des tatsächlichen Radio Button-Bildes. Wenn Sie diese Auffüllung überschreiben, wird das Layout vermasselt. – Thomas

+1

Dies ist in API-Ebene 17 behoben, also denke ich, es ist ein Fehler. –

+0

@Thomas oder kilaka haben entweder Dokumentation zu dieser Definition/Problem? – MikeIsrael

0

Warum verwenden Sie ein relatives Layout? Lege die Radiogroup in ein lineares Layout und lege dann das Lienarlayout in die relative Lage.

Versuchen Sie, die Radiobutton layout_width von fill_parent Ändern

+0

warum soll ich das tun? RadioGroup selbst erbt LinearLayout. –

0

Gibt es einen Grund, warum Sie verwenden RelativeLayout wrap_content? Das könnte das Problem sein. Ansonsten würde ich nur die Polsterung erhöhen. Ich hatte dieses Problem bei der Verwendung von benutzerdefinierten Schaltflächenbildern.

+0

Ja, es gibt auch andere Komponenten auf dem Bildschirm. Und meine beste Option ist in diesem Fall ein RelativeLayout. Ich entfernte den android: padding = "5dp" und alles funktioniert jetzt gut. Ist das ein Fehler? –