簡體   English   中英

帶有Radiobuttons和Edittexts的Android布局

[英]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>

嘗試為所有RadioButtonEditText設置一些相等的高度而不是wrap_content

 android:layout_height="30dp"

如果你覺得這不准確,我建議用RadioButtonEditText創建一個自定義項目

// 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_alignLeftandroid:layout_below 您可以將RadioButton直接放置在沒有RadioGroup的EditText旁邊的RelativeLayout中,但必須處理代碼中的切換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM