![](/img/trans.png)
[英]android: different textvies and edittexts depending on radiobuttons
[英]Android Layout with Radiobuttons and Edittexts
我正在尝试创建的Android布局遇到一些麻烦。 有点像这样的东西。 (编辑框需要与单选按钮对齐,是的。)问题是,当我在手机上实际运行时,它不会对齐。
应该看起来像:
目前看起来像:
这方面的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>
尝试为所有RadioButton
和EditText
设置一些相等的高度而不是wrap_content
android:layout_height="30dp"
如果你觉得这不准确,我建议用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>
我建议有两件事。
您对EditText及其相应的RadioButton有不同的margingTop。 删除它或使其相同。
RadioGroup实际上是一个LinearLayout。 所以,它不需要android:layout_alignLeft
和android:layout_below
。 您可以将RadioButton直接放置在没有RadioGroup的EditText旁边的RelativeLayout中,但必须处理代码中的切换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.