我有TableLayout,我想将按钮作为单元格。所有按钮应具有相同的宽度。并且所有按钮应具有相同的高度。 (因为我想填满屏幕,重量和高度会有所不同。)
我确信我做的一切都很正确但不幸的是只有宽度是一样的。问题在于高度 - 前两行具有相同的高度,第三行较小(或者更准确地说,只要按钮不包含任何文本,高度相同,但是当我放置文本时,高度不相等)。我无法相信它不起作用所以我甚至进行了屏幕截图,我在图形程序中检查了距离。
我的表:
<TableLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:stretchColumns="*"
android:shrinkColumns="*"
android:weightSum="3"
android:padding="@dimen/dialog_margin"
>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:stretchColumns="*"
android:gravity="center"
android:weightSum="2">
<Button
android:id="@+id/button_0"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
/>
<Button
android:id="@+id/button_1"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:stretchColumns="*"
android:gravity="center"
android:weightSum="2">
// buttons analogously as in previous row....
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:stretchColumns="*"
android:gravity="center"
android:weightSum="2">
// buttons analogously as in previous row....
</TableRow>
我还尝试将TableRow
身高设置为match_parent
。它没有帮助。
顺便说一下shrinkColums
的工作方式,特别是stretchColumns
的工作情况? (我有和没有shrinkColumns
的版本,似乎没有区别。
答案 0 :(得分:0)
我认为,在添加文字时,不可能不改变宽度。但我认为你可以试试这个。当您添加文本时,请按以下方式编写:
setText("<html>your text<html>");
它可能有所帮助,但也许文字不会以全尺寸存在
答案 1 :(得分:0)
将此用于tableLayout
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
并且每行
<TableRow
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center">