Eclipse android布局矩阵结构

Eclipse android layout matrix structure

我想知道如何创建具有矩阵结构的布局。 例如:第一行有 5 个按钮,第二行有 5 个按钮,依此类推。

我试过没有任何运气。 我的编程平台是Eclipse,Java,android

尝试TableLayout。 :此布局将其子级排列成行和列。

下面是一个非常基本的 TableLayout,它在第一行创建了 3 个按钮,在第二行创建了 3 个按钮。

您可以通过在 TableLayout 中再添加 2 个 TableRow 对象,将其扩展为每行有 5 个按钮。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >



     <TableRow
                            android:id="@+id/tableRow1"
                            android:layout_height="wrap_content"
                            android:layout_width="match_parent">
                            <Button
                                android:id="@+id/TextView04" android:text="Row 1 Button 1"
                                android:layout_weight="1" android:background="#dcdcdc"
                                android:textColor="#000000"
                                android:padding="20dip" android:gravity="center"/>
                            <Button
                                android:id="@+id/TextView04" android:text="Row 1 Button 2"
                                android:layout_weight="1" android:background="#d3d3d3"
                                android:textColor="#000000"
                                android:padding="20dip" android:gravity="center"/>
                            <Button
                                android:id="@+id/TextView04" android:text="Row 1 Button 3"
                                android:layout_weight="1" android:background="#cac9c9"
                                android:textColor="#000000"
                                android:padding="20dip" android:gravity="center"/>


                        </TableRow>


     <TableRow
                            android:id="@+id/tableRow1"
                            android:layout_height="wrap_content"
                            android:layout_width="match_parent">
                            <Button
                                android:id="@+id/TextView04" android:text="Row 2 Button 1"
                                android:layout_weight="1" android:background="#dcdcdc"
                                android:textColor="#000000"
                                android:padding="20dip" android:gravity="center"/>
                            <Button
                                android:id="@+id/TextView04" android:text="Row 2 Button 2"
                                android:layout_weight="1" android:background="#d3d3d3"
                                android:textColor="#000000"
                                android:padding="20dip" android:gravity="center"/>
                            <Button
                                android:id="@+id/TextView04" android:text="Row 2 Button 3"
                                android:layout_weight="1" android:background="#cac9c9"
                                android:textColor="#000000"
                                android:padding="20dip" android:gravity="center"/>


                        </TableRow>

</TableLayout>

请注意,TableLayout 容器不为其行、列或单元格显示边框线。

如果您想使用 java 代码动态添加更多行,下面是示例:

TableLayout tl = (TableLayout) findViewById(R.id.yourtablelayout);
/* Create a new row to be added. */
TableRow tr = new TableRow(this);
tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
/* Create a Button to be the row-content. */
Button b = new Button(this);
b.setText("add your button text here ");
b.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
/* Add Button to row. */
tr.addView(b);
/* Add row to TableLayout. */
//tr.setBackgroundResource(R.drawable.sf_gradient_03);
tl.addView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));