如何使我的布局具有相同高度的TableRows?

时间:2013-07-11 08:28:09

标签: android xml android-layout layout

我的布局是这样的:

<ScrollView
        android:id="@+id/scrollView_page1"
        android:layout_width="300dp"
        android:layout_height="700dp" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

             <TableRow
                 android:layout_width="fill_parent"
                 android:layout_height="60dip"
                 android:gravity="right"
                  >

             <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/string1"
                android:id="@+id/textview1"/>
             <EditText
                 android:id="@+id/edittext1"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:width="200dp"
                 android:inputType="number"/>
             </TableRow>

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="60dip"
                android:gravity="right"

                >
              <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/string2"
                    android:id="@+id/textview2"/>

             <Spinner
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/spinner1"
                    android:width="200dp"
                    />
                .........

TableRows之间的距离似乎不那么规律:它们中的一些距离太近而且有些距离太远。我不想使用android:paddingTop逐个调整它们。

有没有简单的方法让它们之间保持相同的距离?目前它看起来像这样:

Picture of layout as it is now with varying row heights

2 个答案:

答案 0 :(得分:3)

@giga_abhi是现货,但我会在每个TableRow中添加,你还需要:

android:layout_height="0dip"

LinearLayout

android:layout_height="fill_parent"

ScrollView

android:fillViewport="true"

答案 1 :(得分:1)

LinearLayout集合中:

android:weightSum="(no of tables say 3)"`

并在每个TableRow添加以下行:

android:layout_weight="1"`

这将形成TableRow,其高度与您的方向是垂直相同。剩下的唯一部分是调整TableRow中元素的高度。