我正在尝试制作四行,每行三个按钮,按钮底部是两个 TextView 。我希望它们都均匀分布,但事实并非如此,我也不确定为什么。
这是我的 main.xml
文件中的代码。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow
android:id="@+id/TableRow01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button01"
android:text="@string/str_1"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button02"
android:text="@string/str_2"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button03"
android:text="@string/str_3"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button04"
android:text="@string/str_4"/>
</TableRow>
<TableRow android:id="@+id/TableRow02"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button05"
android:text="@+string/str_5"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button06"
android:text="@+string/str_6"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button07"
android:text="@+string/str_7"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button08"
android:text="@+string/str_8"/>
</TableRow>
<TableRow android:id="@+id/TableRow03"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button09"
android:text="@+string/str_9"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button10"
android:text="@+string/str_10"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button11"
android:text="@+string/str_11"/>
<Button android:onClick="button_click"
android:layout_weight="1"
android:id="@+id/Button12"
android:text="@+string/str_12"/>
</TableRow>
<TableRow android:id="@+id/TableRow04"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<TextView android:text="@+id/TextView01"
android:layout_weight="1"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<TextView android:text="@+id/TextView02"
android:layout_weight="1"
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
</TableRow>
</TableLayout>
我的 TextView 有以下代码:
TextView t = (TextView)findViewById(R.id.TextView01);
TextView t2 = (TextView)findViewById(R.id.TextView02);
t.setTextSize(24);
t2.setTextSize(24);
当我运行我的程序时,我得到:
最佳答案
好的,为了帮助解决这个问题,请在您的表格布局中添加 android:stretchColumns="0,1,2,3"
,这将使按钮的大小均匀。
其次,将 android:layout_span="2"
添加到您的两个 TextView 。
给你一个最终代码:
<!-- NOTICE STRETCHCOLUMNS ATTRIBUTE-->
<TableLayout android:id="@+id/TableLayout01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:stretchColumns="0,1,2,3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
.
.
.
.
.
<!-- NOTICE LAYOUT_SPAN ATTRIBUTE-->
<TextView android:text="@+id/TextView01"
android:layout_weight="1"
android:id="@+id/TextView01"
android:layout_span="2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<TextView android:text="@+id/TextView02"
android:layout_weight="1"
android:id="@+id/TextView02"
android:layout_span="2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
如果您以编程方式设置文本大小以使您的 TextView 均匀分布,则当您设置了 android:layout_span
时不需要它。
关于java - layout_weight 在表格行中带有按钮和 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568095/