我想知道如何使用矩阵结构创建布局。 例如:第一行有5个按钮,第二行有5个按钮,依此类推。
我试着没有任何真正的运气。 我的编程平台是Eclipse,Java,android
答案 0 :(得分:0)
试试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));