我希望我的表格的每一行都具有相同的高度,而不是取决于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>
答案 0 :(得分:0)
我建议你以编程方式执行此操作。
Change LinearLayout height to 0 programmatically
在这个问题中你会发现如何做到这一点。主要思想是将所需的所有行添加到列表中,获得所有行的高度并找到最大值(如果我理解你想要做什么)。然后你只需将所有其他行设置为相同的高度
答案 1 :(得分:0)
就我在Layout XML中看到的而言,所有表行的高度都与android:layout_height="wrap_content"
相同。如果你想让它们全部具有相同的高度,你应该给出一个常量值。
请改为:android:layout_height="100dp"
并查看它是否有意义。