0

请查看以下 XML

<?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="#ffffff" >

    <TextView
        android:id="@+id/save_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="22dp"
        android:text="@string/save_to" />

    <LinearLayout
        android:id="@+id/save_location_radio_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_toRightOf="@+id/save_txt"
        android:layout_marginTop="22dp"
        android:layout_marginLeft="5dp"
        android:layout_alignBaseline="@+id/save_txt">

        <RadioGroup
        android:id="@+id/save_selection_group"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">


    <RadioButton
        android:id="@+id/radio_sd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:text="SD" />

    <RadioButton
        android:id="@+id/radio_phone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Phone" />
    </RadioGroup>
    </LinearLayout>





    <TextView
        android:id="@+id/save_name_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/save_txt"
        android:layout_marginTop="50dp"
        android:text="@string/save_name" />

    <EditText
        android:id="@+id/save_name_edt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/save_txt"
        android:layout_toRightOf="@+id/save_name_txt"
        android:layout_alignBaseline="@+id/save_name_txt"
        android:layout_marginLeft="15dp"
        android:paddingBottom="10dp"
        android:ems="8" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/save_voice_note_button"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/save_txt"
        android:layout_toRightOf="@+id/save_name_edt"
        android:layout_alignBaseline="@+id/save_name_edt"
        android:layout_marginLeft="5dp"
        android:paddingBottom="10dp"
        android:text="@string/save" />

</RelativeLayout>

这会生成以下内容

在此处输入图像描述

有2个问题。

  1. 如您所见,RadioButtons 未与“保存到:”的右侧对齐TextView
  2. 这实际上是一个Dialog和当我打开这个窗口时,窗口的高度不够。请参考图片,它仅显示 90% 的EditTextButton

我已尽力纠正此问题,但仍然没有好处。我做错了什么?

4

4 回答 4

1

要解决对话框高度的问题android:layout_height,请将主 RelativeLayout 更改为wrap_content.

要将单选按钮与 TextView 对齐,请更改@+id/save_txt@+id/save_location_radio_layout

<TextView
    android:id="@+id/save_txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/save_to" 
    android:gravity="center_vertical"
    android:layout_alignTop="@+id/save_location_radio_layout"
    android:layout_alignBottom="@+id/save_location_radio_layout"/>

<LinearLayout
    android:id="@+id/save_location_radio_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:layout_toRightOf="@+id/save_txt"
    android:layout_marginTop="22dp"
    android:layout_marginLeft="5dp">
于 2013-11-14T13:00:43.243 回答
0

将您的保存到:文本视图也放在第一个线性布局中,并在文本视图和单选组之间进行填充..

于 2013-11-14T12:38:14.450 回答
0
try this out

<?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="#ffffff" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="22dp"
        android:id="@+id/headertop"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/save_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="save_to" />

        <LinearLayout
            android:id="@+id/save_location_radio_layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"

            android:layout_toRightOf="@+id/save_txt"
            android:orientation="vertical" >

            <RadioGroup
                android:id="@+id/save_selection_group"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <RadioButton
                    android:id="@+id/radio_sd"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:text="SD" />

                <RadioButton
                    android:id="@+id/radio_phone"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Phone" />
            </RadioGroup>
        </LinearLayout>
    </LinearLayout>

    <TextView
        android:id="@+id/save_name_txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/headertop"
        android:layout_marginTop="50dp"
        android:text="save_name" />

    <EditText
        android:id="@+id/save_name_edt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/save_name_txt"
        android:layout_below="@+id/headertop"
        android:layout_marginLeft="15dp"
        android:layout_toRightOf="@+id/save_name_txt"
        android:ems="8"
        android:paddingBottom="10dp" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/save_voice_note_button"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/save_name_edt"
        android:layout_below="@+id/headertop"
        android:layout_marginLeft="5dp"
        android:layout_toRightOf="@+id/save_name_edt"
        android:paddingBottom="10dp"
        android:text="save" />

</RelativeLayout>
于 2013-11-14T12:39:05.653 回答
0

除了以上评论。

您不能确定所有元素都适合对话框,因为它的大小取决于屏幕尺寸。您应该优化 UI 以适应大部分屏幕并将 ScrollView 包裹在 RelativeLayout 周围。这将是新的根元素。

于 2013-11-14T12:44:00.227 回答