如何在每行中包含多个TextView和EditText

时间:2014-05-10 15:42:57

标签: android android-layout android-edittext textview

我正在尝试获取一种表单,在每行上TextView位于左侧,EditText位于右侧。

下面的代码适用于一行,但是,如果我有多行,那么它不会在每一行上绘制TextView和EditText,而是尝试将所有内容组合在一起。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="10dip"
    android:background="#FFFFFF"
    >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Full Name"
        android:textSize="20dp"
        android:layout_weight="1"
        android:textColor="#000000"
 />

    <EditText
        android:id="@+id/name"
        android:gravity="center"
        android:hint="John Doe"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Age"
        android:textSize="20dp"
        android:layout_weight="1"
        android:textColor="#000000"
        />

    <EditText
        android:id="@+id/age"
        android:gravity="center"
        android:hint="age"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        />

</LinearLayout>

这就是它的样子

enter image description here

2 个答案:

答案 0 :(得分:1)

有很多方法可以实现您一直在寻找的Layout。您通过在视图中添加layout_weight="1"来实现目标。这是仅使用Layout进行orientation更改的一个。

阐释:

LinearLayout  //ParentView Orientation - Vertical
     LinearLayout //childView Orientation - Horizontal
        TextView & EditText // Taking equal space with help of layout_weight="1"
     LinearLayout //childView Orientation - Horizontal
        TextView & EditText // Taking equal space with help of layout_weight="1"

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dip"
android:background="#FFFFFF"
>
    <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal"
     >
       <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Full Name"
        android:textSize="20dp"
        android:layout_weight="1"
        android:textColor="#000000"
        />

       <EditText
        android:id="@+id/name"
        android:gravity="center"
        android:hint="John Doe"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:layout_height="wrap_content"
       />
    </LinearLayout>
    <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal"
     >
     <TextView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="Age"
      android:textSize="20dp"
      android:layout_weight="1"
      android:textColor="#000000"
      />
     <EditText
      android:id="@+id/age"
      android:gravity="center"
      android:hint="age"
      android:layout_width="fill_parent"
      android:layout_weight="1"
      android:layout_height="wrap_content"
      />
    </LinearLayout> 
</LinearLayout>

答案 1 :(得分:0)

// try this way,hope this will help you...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:background="#FFFFFF">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="1">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.40"
                android:text="Full Name"
                android:textSize="20sp"
                android:gravity="right"
                android:textColor="#000000"/>

            <EditText
                android:id="@+id/name"
                android:gravity="center"
                android:hint="John Doe"
                android:layout_width="0dp"
                android:layout_weight="0.60"
                android:layout_height="wrap_content"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="1"
            android:layout_marginLeft="5dp">
            <TextView
                android:layout_width="0dp"
                android:layout_weight="0.40"
                android:layout_height="wrap_content"
                android:text="Age"
                android:gravity="right"
                android:textSize="20sp"
                android:textColor="#000000"/>

            <EditText
                android:id="@+id/age"
                android:gravity="center"
                android:hint="Age"
                android:layout_width="0dp"
                android:layout_weight="0.60"
                android:layout_height="wrap_content"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>