无法为RadioButtons添加边距

时间:2014-10-07 16:02:52

标签: android android-layout android-xml android-radiogroup

我的布局有问题。我有一个Dialog,我想放置RadioButtons,但正如你在屏幕截图中看到的那样,它们彼此非常接近。如何拓宽它们之间的空间?我已经尝试过左/右边距,左/右边距等等,但这一切都无效。

截图

screenshot

我的.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@drawable/backrepeat_reversed" >
    <TextView android:id="@+id/ml_label"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/size"
        android:gravity="center"/>
    <LinearLayout 
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <RadioGroup  android:id="@+id/radio_group"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center">
        <RadioButton android:id="@+id/rws"
            android:layout_width="wrap_content"
            android:drawableBottom="?android:attr/listChoiceIndicatorSingle"
            android:button="@null"
            android:text="@string/sw"
            android:gravity="center_horizontal|bottom"
            android:layout_height="match_parent"
            android:textColor="#000000"
            android:textSize="50sp"/>
        <RadioButton android:id="@+id/rwm"
            android:layout_width="wrap_content"
            android:drawableBottom="?android:attr/listChoiceIndicatorSingle"
            android:button="@null"
            android:text="@string/mw"
            android:gravity="center_horizontal|bottom"
            android:layout_height="match_parent"
            android:textColor="#000000"
            android:textSize="50sp"/>
        <RadioButton android:id="@+id/rwb"
            android:layout_width="wrap_content"
            android:drawableBottom="?android:attr/listChoiceIndicatorSingle"
            android:button="@null"
            android:text="@string/bw"
            android:gravity="center_horizontal|bottom"
            android:layout_height="match_parent"
            android:textColor="#000000"
            android:textSize="50sp"/>
    </RadioGroup>
    </LinearLayout>
    <TextView android:id="@+id/percent_label"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/percentage"
        android:gravity="center"/>
    <NumberPicker 
        android:id="@+id/percent_picker"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        />

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

单选按钮并排放置在LinearLayout中。他们将layout_width设置为wrap_content。父级(RadioGroup)也设置为wrap_content,其父级(LinearLayout及其父级,根LinearLayout元素)也设置为{{ 1}}。重力也被设定为居中,所以一切都朝着屏幕的中心倾斜,并且仍然挤在一起。

尝试:

  • 将根wrap_content元素的LinearLayout设置为layout_width
  • 将嵌套的fill_parentLinearLayout的父级)设置为RadioGroup(即更改元素类型)
  • 为每个RelativeLayout设置,通过添加此属性/值对,宽度为33%:RadioButton

答案 1 :(得分:0)

使用LinearLayout或其他布局来优化布局。你可以这样做:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/backrepeat_reversed" >
    <TextView android:id="@+id/ml_label"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/size"
        android:gravity="center"/>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <RadioGroup  android:id="@+id/radio_group"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center">
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center">
                <RadioButton android:id="@+id/rws"
                    android:layout_width="wrap_content"
                    android:drawableBottom="?android:attr/listChoiceIndicatorSingle"
                    android:button="@null"
                    android:text="@string/sw"
                    android:gravity="center_horizontal|bottom"
                    android:layout_height="match_parent"
                    android:textColor="#000000"
                    android:textSize="50sp"/>
            </LinearLayout>
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center">
                <RadioButton android:id="@+id/rwm"
                    android:layout_width="wrap_content"
                    android:drawableBottom="?android:attr/listChoiceIndicatorSingle"
                    android:button="@null"
                    android:text="@string/mw"
                    android:gravity="center_horizontal|bottom"
                    android:layout_height="match_parent"
                    android:textColor="#000000"
                    android:textSize="50sp"/>
            </LinearLayout>
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center">
                <RadioButton android:id="@+id/rwb"
                    android:layout_width="wrap_content"
                    android:drawableBottom="?android:attr/listChoiceIndicatorSingle"
                    android:button="@null"
                    android:text="@string/bw"
                    android:gravity="center_horizontal|bottom"
                    android:layout_height="match_parent"
                    android:textColor="#000000"
                    android:textSize="50sp"/>
            </LinearLayout>
        </RadioGroup>
    </LinearLayout>
    <TextView android:id="@+id/percent_label"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/percentage"
        android:gravity="center"/>
    <NumberPicker
        android:id="@+id/percent_picker"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        />

</LinearLayout>

尝试一下,我认为这有帮助。

相关问题