在使用TableLayout时button填充宽度

我有一个表有2行,每行有3个button。 我怎样才能使button填补空间平等。 在HTML中,我会给他们33%的宽度。

你也知道任何方式我可以创build一个视图有4个图像button作为网格布局,类似于发射器。

Solutions Collecting From Web of "在使用TableLayout时button填充宽度"

尝试添加android:stretchColumns="*"到您的<TableLayout>标签。

我终于在这里find了真正的答案: http : //androidadvice.blogspot.com/2010/10/tablelayout-columns-equal-width.html

在这里还有一个更简单的例子: https : //stackoverflow.com/a/2865558/265521

例:

 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent"> <TableRow> <Button android:layout_width="0dip" android:layout_height="match_parent" android:text="Why is doing layouts on Android" android:layout_weight="1" /> <Button android:layout_width="0dip" android:layout_height="match_parent" android:text="so" android:layout_weight="1" /> </TableRow> <TableRow> <Button android:layout_width="0dip" android:layout_height="match_parent" android:text="damn" android:layout_weight="1" /> <Button android:layout_width="0dip" android:layout_height="match_parent" android:text="frustrating?" android:layout_weight="1" /> </TableRow> </TableLayout> 

将TableRow layout_width设置为fill_parent,并在每个button上设置layout_weight为1。

layout_weight的工作类似于一个百分比。 如果您的所有项目都获得相同的号码,他们将采取相同的空间百分比。 如果一个button的重量是2,另一个button的重量是1,那么第一个button将占用两倍的空间。

如果你还没有这样做,通过开发指南的通用布局页面准备好布局的介绍。

所以在总结post时,正确的做法是设置NumberOfTheColumns

  <tablelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="NumberOfTheColumns"/> 

你可以设置你需要多less水平的“块”。 如果你有一个3×3的表格:

  <TableLayout android:minWidth="25px" android:minHeight="25px" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tableLayout1" android:stretchColumns="3"> <TableRow android:id="@+id/tableRow1"> <TextView android:text="@string/EventTitle" android:id="@+id/textView1" android:gravity="center_vertical" android:layout_column="0" /> <EditText android:inputType="text" android:id="@+id/editText3" android:layout_weight="2" android:layout_span="2" android:layout_column="1" /> </TableRow> <TableRow android:id="@+id/tableRow2"> <TextView android:text="@string/EventDateStart" android:id="@+id/textView1" android:gravity="center_vertical" android:layout_column="0" /> <EditText android:inputType="date" android:id="@+id/editText1" android:layout_weight="1" android:layout_column="1" android:layout_width="wrap_content" /> <EditText android:inputType="time" android:id="@+id/editText2" android:layout_weight="1" android:layout_column="2" android:layout_width="match_parent" /> </TableRow> <TableRow android:id="@+id/tableRow3"> <TextView android:text="@string/EventDateEnd" android:id="@+id/textView1" android:gravity="center_vertical" android:layout_column="0" android:layout_width="match_parent" /> <EditText android:inputType="date" android:id="@+id/editText1" android:layout_weight="1" android:layout_column="1" /> <EditText android:inputType="time" android:id="@+id/editText2" android:layout_weight="1" android:layout_column="2" /> </TableRow> <TableRow> <TextView android:text="@string/Description" android:id="@+id/textView1" android:gravity="center_vertical" android:layout_weight="3" android:layout_span="3" android:layout_column="0" android:layout_width="match_parent" /> </TableRow> <TableRow> <EditText android:inputType="textMultiLine" android:id="@+id/editText3" android:layout_height="50dp" android:layout_weight="3" android:layout_span="3" android:layout_column="0" android:layout_width="match_parent" /> </TableRow> </TableLayout> 

在这个例子中,你可以看到一个5×3的表格。 您可以设置每个列的宽度,通过设置您需要多less个完整的表格宽度…