Android:TableRow中的2个按钮

时间:2014-03-05 12:29:40

标签: android android-layout tablerow

我对android编程很新。 我想以编程方式向tableRow添加两个按钮。 这是应该执行的代码,以及表行的XML:

代码:

public void buttons() {
    Button button1 = new Button(this);
    button1.setText("Fertig");
    Button button2 = new Button(this);
    button2.setText("Zurück");

    tableRow.addView(button1);
    tableRow.addView(button2);
}

XML:

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="2dp" >
</TableRow>

但如果我运行代码,它看起来像这样: enter image description here

如果我只是添加button1(从我的代码中删除tableRow.addView(button2);),该按钮位于屏幕左下角的正确位置...

任何人都可以帮助我,所以两个按钮都会显示正确吗?

谢谢! :)

1 个答案:

答案 0 :(得分:1)

XMLTableRow更改为TableLayout,然后将每个按钮添加到一个TableRow中,然后将tableRow添加到主TableLayout中如下:

<TableLayout
android:id="@+id/table1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="2dp" >
</TableLayout>

在Java类

TableLayout tl = (TableLayout) findViewById(R.id.table1);
/* Create a new row to be added. */
TableRow tr = new TableRow(this);
tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,               TableRow.LayoutParams.WRAP_CONTENT));
/* Create a Button to be the row-content. */
Button b = new Button(this);
b.setText("Dynamic Button");
b.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_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.MATCH_PARENT,         TableLayout.LayoutParams.WRAP_CONTENT));