在模式之后对齐多个EditTexts和TextView

时间:2013-11-28 09:39:41

标签: android android-layout textview alignment android-edittext

我想在我的应用中创建一个管理配置文件活动,它按照以下方式制作类似表单的字段:

<LinearLayout android:orientation="vertical">

  <LinearLayout android:orientation="horizontal">
    <TextView android:text="EMAIL "/>
    <EditText android:hint="EMAIL "/>
  </LinearLayout

  <LinearLayout android:orientation="horizontal">
    <TextView android:text="USERNAME "/>
    <EditText android:hint="USERNAME "/>
  </LinearLayout

<LinearLayout>

我希望所有的EditTexts在最长的TextView之后用垂直线对齐。 (在这种情况下似乎是“第一名”)

EMAIL alex.johnson@mailbox.com

USERNAME alexton_mg84

第一个名字Alex

...

CELL +44 325 23 523

GENDER M

...

以下是目前看来的附件摘录。

enter image description here

这就是我追求的行为:

enter image description here

谢谢!

4 个答案:

答案 0 :(得分:1)

将layout_weight属性用于TextView和EditTexts ..

使用layout_weight,您可以指定多个视图之间的大小比率。例如。你有一个MapView和一个表,它应该向地图显示一些额外的信息。地图应使用屏幕的3/4,表格应使用屏幕的1/4。然后,您将地图的layout_weight设置为3,将表格的layout_weight设置为1.

答案 1 :(得分:1)

我想我会以相反的方式做什么:LinearLayout中有两个android:orientation="vertical" LinearLayout android:orientation="horizontal" 第一个用于TextViews,第二个用于EditTexts。

答案 2 :(得分:0)

您需要使用布局权重。以下是你可以做的&gt;试一试。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="100" 
    android:orientation="horizontal" >

    <TextView
        android:layout_width="0dp"
        android:layout_weight="40"
        android:layout_height="wrap_content"
        android:textSize="20sp" 
        android:text="EMAIL " />

    <EditText
        android:layout_width="0dp"
        android:layout_weight="60"
        android:layout_height="wrap_content" 
        android:hint="EMAIL"
        android:textSize="20sp" />
</LinearLayout>

答案 3 :(得分:0)

这是你的完整代码dude添加更多字段,如你所愿:)祝你好运

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/mainContainer"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#000000"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="#ffffff"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/tvOne"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".75"
                    android:text="Email" />

                <EditText
                    android:id="@+id/tvThree"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1.25"
                    android:text="Three" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="3dp"
                android:background="#000000" >
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/tvOned"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".75"
                    android:text="User Name" />

                <EditText
                    android:id="@+id/tvThreeda"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1.25"
                    android:text="Three" />
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>