如何让我的android表有相同高度的行?

时间:2015-06-01 22:00:51

标签: android android-layout android-tablelayout

我希望我的表格的每一行都具有相同的高度,而不是取决于textview包含的内容。我已经尝试过类似请求的一些建议,但我无法让它们中的任何一个起作用。如果textview中没有文本,则其高度小于包含文本的文本视图。这是时间表应用程序的一部分,因此一些文本视图将为其分配文本,但我希望它们看起来都一样,无论如何。如果您需要更多信息,请询问。我希望这不是太模糊 这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:fillViewport="true"
    android:layout_height="match_parent">
    <HorizontalScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:fillViewport="true"
        android:layout_height="match_parent">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="3"
            android:orientation="vertical" >
            <TableLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:orientation="vertical"
                android:layout_height="match_parent">

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:weightSum="6"
                    android:layout_weight="1">

                    <TextView
                        android:background="@drawable/back"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:text="@string/time"
                        android:id="@+id/lblTime"
                        android:layout_column="0"
                        android:gravity="left|center"
                        android:textStyle="bold" />

                    <TextView
                        android:background="@drawable/back"
                        android:text="@string/dayOne"
                        android:id="@+id/lblDayOne"
                        android:layout_column="1"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:gravity="center"
                        android:textStyle="bold" />

                    <TextView
                        android:background="@drawable/back"
                        android:text="@string/dayTwo"
                        android:id="@+id/lblDayTwo"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:layout_column="2"
                        android:gravity="center"
                        android:textStyle="bold" />

                    <TextView
                        android:background="@drawable/back"
                        android:text="@string/dayThree"
                        android:id="@+id/lblDayThree"
                        android:layout_column="3"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:gravity="center"
                        android:textStyle="bold" />

                    <TextView
                        android:background="@drawable/back"
                        android:text="@string/dayFour"
                        android:id="@+id/lblDayFour"
                        android:layout_column="5"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:gravity="center"
                        android:textStyle="bold" />

                    <TextView
                        android:background="@drawable/back"
                        android:text="@string/dayFive"
                        android:id="@+id/lblDayFive"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:layout_column="6"
                        android:gravity="center"
                        android:textStyle="bold" />
                </TableRow>

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:weightSum="6"
                    android:layout_weight="1">

                    <TextView
                        android:background="@drawable/back"
                        android:text="9:00"
                        android:id="@+id/lblPeriodOne"
                        android:layout_column="0"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:gravity="left|center" />

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:id="@+id/M9"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:layout_column="1"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:id="@+id/Tue9"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:layout_column="2"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:id="@+id/W9"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:layout_column="3"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:id="@+id/Thur9"
                        android:layout_column="5"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:id="@+id/F9"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:layout_column="6"
                        android:textColor="#000000"/>

                </TableRow>

                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:weightSum="6"
                    android:layout_weight="1">

                    <TextView
                        android:background="@drawable/back"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:text="10:00"
                        android:id="@+id/lblPeriodTwo"
                        android:layout_column="0"
                        android:gravity="left|center" />

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:id="@+id/M10"
                        android:layout_column="1"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:id="@+id/Tue10"
                        android:layout_column="2"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:id="@+id/W10"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:layout_column="3"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:id="@+id/Thur10"
                        android:layout_column="5"
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:textColor="#000000"/>

                    <TextView
                        android:background="@drawable/back"
                        android:text=""
                        android:layout_weight="1"
                        android:padding="20dip"
                        android:id="@+id/F10"
                        android:layout_column="6"
                        android:textColor="#000000"/>
                </TableRow>
            </TableLayout>
        </LinearLayout>
    </HorizontalScrollView>
</ScrollView>

2 个答案:

答案 0 :(得分:0)

我建议你以编程方式执行此操作。

Change LinearLayout height to 0 programmatically

在这个问题中你会发现如何做到这一点。主要思想是将所需的所有行添加到列表中,获得所有行的高度并找到最大值(如果我理解你想要做什么)。然后你只需将所有其他行设置为相同的高度

答案 1 :(得分:0)

就我在Layout XML中看到的而言,所有表行的高度都与android:layout_height="wrap_content"相同。如果你想让它们全部具有相同的高度,你应该给出一个常量值。

请改为:android:layout_height="100dp"并查看它是否有意义。