0

Below is what my screen looks like:

enter image description here

You can see that in row 1, the two buttons are not aligned evenly since the right box is 2 lines and the left box is 1 line. Also, you can see in row 3 that the buttons are wider since they are both 3 lines each.

Is there a way to make the rows the same height? Sort of like how in a LinearLayout you can use android:layout_width="#". I have posted all the code in my XML since it is relatively short.

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/relativelayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="1dp"
    android:paddingBottom="50dp"
    android:background="@drawable/scroll" >

    <TextView
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textSize="14sp"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:paddingTop="65dp" />

    <TextView
        android:id="@+id/subHeader"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/header"
        android:textStyle="italic|bold"
        android:textSize="12sp"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:paddingBottom="20dp" />

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/subHeader"
        android:layout_alignParentBottom="true"
        android:background="@drawable/scrollviewborder"
        android:fillViewport="true"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"
        android:paddingTop="8dp"
        android:paddingBottom="8dp" >

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <Button
                android:id="@+id/jc" 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />

            <Button 
                android:id="@+id/tencommandments"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <Button
                android:id="@+id/exodus" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />

            <Button
                android:id="@+id/genesis" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <Button
                android:id="@+id/holydays" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />      

            <Button
                android:id="@+id/facts" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <Button
                android:id="@+id/random" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>
    </TableLayout>
</RelativeLayout>
4

2 回答 2

1

这是你的布局,重做。您将要添加引用您的可绘制对象的行 - 我将它们取出,因为我无权访问它们。注意重量的值是如何分数的,并根据该空间的百分比来考虑容器内小部件的可用空间量。这种范式转变应该会提高您对权重属性的理解。

此外,尽量避免使用API 8 及更高版本fill_parent已弃用它match_parent,除非你真的想支持旧的、发霉的 Android 版本(不到安装基数的 1%)。

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/relativelayout"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="1dp"
    android:paddingBottom="50dp" >

    <TextView
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textSize="14sp"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:paddingTop="65dp" />

    <TextView
        android:id="@+id/subHeader"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/header"
        android:textStyle="italic|bold"
        android:textSize="12sp"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:paddingBottom="20dp" />

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/subHeader"
        android:layout_alignParentBottom="true"
        android:fillViewport="true"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"
        android:paddingTop="8dp"
        android:paddingBottom="8dp" >

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight=".25" >

            <Button
                android:id="@+id/jc" 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight=".5"
                android:textStyle="bold"
                android:textSize="14sp" />

            <Button 
                android:id="@+id/tencommandments"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight=".5"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight=".25" >

            <Button
                android:id="@+id/exodus" 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight=".5"
                android:textStyle="bold"
                android:textSize="14sp" />

            <Button
                android:id="@+id/genesis" 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight=".5"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight=".25" >

            <Button
                android:id="@+id/holydays" 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight=".5"
                android:textStyle="bold"
                android:textSize="14sp" />      

            <Button
                android:id="@+id/facts" 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight=".5"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight=".25" >

            <Button
                android:id="@+id/random" 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="14sp" />
        </TableRow>
    </TableLayout>
</RelativeLayout>
于 2013-04-22T17:14:41.473 回答
1

尝试在您的按钮中更改android:layout_height="wrap_content"match_parentid jc

于 2013-04-22T13:49:20.120 回答