【问题标题】:How to I make my android table have rows of equal heights?如何让我的 android 表具有相同高度的行?
【发布时间】:2015-06-01 22:00:50
【问题描述】:

我希望我的表格的每一行都具有相同的高度,而不依赖于 textview 包含的内容。我已经尝试了一些针对类似请求的建议,但我无法让它们中的任何一个起作用。如果 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>

【问题讨论】:

    标签: android android-layout android-tablelayout


    【解决方案1】:

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

    Change LinearLayout height to 0 programmatically

    在这个问题中,您将找到如何做到这一点。主要思想是将您需要的所有行添加到列表中,获取它们的所有高度并找到其中的最大值(如果我了解您想要做什么)。然后你只需让所有其他行的高度相同

    【讨论】:

      【解决方案2】:

      据我在您的布局 XML 中所见,您的所有表格行的高度都与 android:layout_height="wrap_content" 相同,如果您想让它们都具有相同的高度,则应该给出一个常量值。

      试试这个:android:layout_height="100dp" 看看是否有意义。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-14
        • 2022-09-30
        • 2017-03-31
        • 1970-01-01
        • 2014-09-28
        • 1970-01-01
        • 2019-01-13
        • 1970-01-01
        相关资源
        最近更新 更多