请查看以下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>
这会生成以下内容
有两个问题。
RadioButton
未与“保存到”TextView
Dialog
,当我打开此窗口时,窗口的高度不够。请参阅图片,它仅显示EditText
和Button
的90%。我尽力纠正这个但仍然没有好处。我做错了什么?
答案 0 :(得分:1)
要解决对话框高度问题,请将主RelativeLayout的android:layout_height
更改为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">
答案 1 :(得分:0)
将“保存到:”文本视图也置于第一个线性布局中,并在textview和radio组之间进行填充..
答案 2 :(得分: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>
答案 3 :(得分:0)
除上述评论外。
您不能确定所有元素都适合对话,因为它的大小取决于屏幕尺寸。您应该优化UI以适应大多数屏幕并将ScrollView包装在RelativeLayout周围。它将是新的根元素。