[英]Android Layout with Radiobuttons and Edittexts
I'm having a bit of trouble with an Android layout I'm currently trying to create. 我正在尝试创建的Android布局遇到一些麻烦。 Something along the lines of this.
有点像这样的东西。 (The editboxes need to be aligned with the radio buttons, yes.) The problem is that when I actually run this on a phone, it doesn't align up.
(编辑框需要与单选按钮对齐,是的。)问题是,当我在手机上实际运行时,它不会对齐。
Should look something like: 应该看起来像:
Currently looks like: 目前看起来像:
The XML for this is below. 这方面的XML如下。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top" >
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="34dp"
android:layout_marginTop="32dp" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radio1"
android:layout_below="@+id/radio1"
android:layout_marginTop="20dp" />
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radio2"
android:layout_below="@+id/radio2"
android:layout_marginTop="20dp" />
<RadioButton
android:id="@+id/radio4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radio3"
android:layout_below="@+id/radio3"
android:layout_marginTop="20dp" />
<RadioButton
android:id="@+id/radio5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radio4"
android:layout_below="@+id/radio4"
android:layout_marginTop="20dp" />
</RadioGroup>
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/radioGroup1"
android:layout_toRightOf="@+id/radioGroup1"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/editText1"
android:layout_marginTop="15dp"
android:ems="10" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText2"
android:layout_below="@+id/editText2"
android:layout_marginTop="15dp"
android:ems="10" />
<EditText
android:id="@+id/editText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText3"
android:layout_below="@+id/editText3"
android:layout_marginTop="15dp"
android:ems="10" />
<EditText
android:id="@+id/editText5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText4"
android:layout_below="@+id/editText4"
android:layout_marginTop="15dp"
android:ems="10" />
<EditText
android:id="@+id/editText6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/radioGroup1"
android:layout_alignLeft="@+id/editText5"
android:ems="10" />
</RelativeLayout>
Try setting some equal heght for all the RadioButton
and EditText
instead of wrap_content
尝试为所有
RadioButton
和EditText
设置一些相等的高度而不是wrap_content
android:layout_height="30dp"
If you feels this is not accurate, I would suggest to create a custom item with RadioButton
and EditText
如果你觉得这不准确,我建议用
RadioButton
和EditText
创建一个自定义项目
// try this way,hope this will help you...
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top|center_horizontal" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:layout_marginLeft="20dp"
android:checked="true" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radio0"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"/>
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radio1"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"/>
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radio2"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"/>
<RadioButton
android:id="@+id/radio4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radio3"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"/>
<RadioButton
android:id="@+id/radio5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radio4"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"/>
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/radio0"
android:layout_toRightOf="@id/radio0"
android:layout_marginLeft="10dp"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/radio1"
android:layout_toRightOf="@id/radio1"
android:layout_marginLeft="10dp"
android:ems="10" />
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/radio2"
android:layout_toRightOf="@id/radio2"
android:layout_marginLeft="10dp"
android:ems="10" />
<EditText
android:id="@+id/editText4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/radio3"
android:layout_toRightOf="@id/radio3"
android:layout_marginLeft="10dp"
android:ems="10" />
<EditText
android:id="@+id/editText5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/radio4"
android:layout_toRightOf="@id/radio4"
android:layout_marginLeft="10dp"
android:ems="10" />
<EditText
android:id="@+id/editText6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/radio5"
android:layout_toRightOf="@id/radio5"
android:layout_marginLeft="10dp"
android:ems="10" />
</RelativeLayout>
There are two things which I would suggest. 我建议有两件事。
You have different margingTop for EditText and its corresponding RadioButton. 您对EditText及其相应的RadioButton有不同的margingTop。 Either remove it or make it same.
删除它或使其相同。
RadioGroup is actually a LinearLayout. RadioGroup实际上是一个LinearLayout。 So, it doesn't take
android:layout_alignLeft
and android:layout_below
. 所以,它不需要
android:layout_alignLeft
和android:layout_below
。 You can place a RadioButton directly in a RelativeLayout beside a EditText without RadioGroup but would have to handle the toggling in code. 您可以将RadioButton直接放置在没有RadioGroup的EditText旁边的RelativeLayout中,但必须处理代码中的切换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.