1

我的布局有问题。我有一个对话框,我想在其中放置 RadioButtons,但正如您在屏幕截图中看到的那样,它们彼此非常接近。如何扩大它们之间的空间?我已经尝试过 Margin Left/Right、Padding Left/Right 等,但这些都不起作用。

截屏

截屏

我的 .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>
4

2 回答 2

1

单选按钮并排放置在LinearLayout. 他们有自己的layout_width设定wrap_content。父元素 (the RadioGroup) 也设置为wrap_content,它的两个父元素 ( LinearLayout,及其父元素,根LinearLayout元素) 也设置为wrap_content。重力也被设置为居中,所以一切都被吸引到屏幕的中心,并保持挤在一起。

尝试:

  • 将根LinearLayout元素设置layout_widthfill_parent.
  • 将嵌套LinearLayout(的父级RadioGroup)设置为a RelativeLayout(即更改元素类型)
  • 通过添加此属性/值对,为 each 设置RadioButton宽度为 33%:android:layout_weight=".33"
于 2014-10-07T16:31:42.560 回答
0

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

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

试试看,我觉得有帮助。

于 2014-10-08T09:44:24.727 回答