如何动态添加微调器到android中的tablerow?

时间:2012-09-24 09:11:21

标签: android layout

我想在这个图像中动态添加微调器,以及如何指定它的宽度和高度:

enter image description here

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

使用TableLayout表单xml并将xml扩展到您的代码。 现在,您可以使用添加新的TableRows到tableLayout addView(new TableRow())...

再次,你可以添加View(View v)到每个表Row。 你可以将addWeight添加到你添加到TableLayout的每个TableRow中......在你的情况下

TableRow重量将为2

addView(new TextView())
addView(new Spinner())

答案 1 :(得分:0)

您可以根据需要添加任意数量的表格行:

"TableLayout tableLayout = (TableLayout) findViewById(R.id.tableLayoutFromXML);"
"TableRow tableRow = new TableRow(this);"
"tableRow.setLayoutParams(new LayoutParams(
                          LayoutParams.FILL_PARENT,
                          LayoutParams.WRAP_CONTENT));"
"tableRow.addView(WhatEver view that you want);"
"tableLayout.addView(tableRow);"

查看您要添加到tablerow,您还可以设置其属性,如“width”或“height”。

答案 2 :(得分:0)

我知道我有点迟了,但你可以尝试这个......

final TableLayout dynamicTable = (TableLayout) findViewById(R.id.hotelTableLayout);

                     /* Create a new row to be added. */
                    final TableRow row = new TableRow(Hotels.this);
                    row.setLayoutParams(new TableRow.LayoutParams(
                            TableRow.LayoutParams.MATCH_PARENT,
                            TableRow.LayoutParams.WRAP_CONTENT));

                    /* Create a component to be the row-content. */
                    SpnAdult = new Spinner(Hotels.this);
                    SpnAdult.setLayoutParams(new TableRow.LayoutParams(0,
                            TableRow.LayoutParams.WRAP_CONTENT, 1));
                    SpnAdult.setAdapter(adapter);

                    /* Add Spinner to row. */
                    row.addView(SpnAdult);

                    /* Add row to TableLayout. */
                    dynamicTable.addView(row, new TableLayout.LayoutParams(
                            TableLayout.LayoutParams.MATCH_PARENT,
                            TableLayout.LayoutParams.WRAP_CONTENT));

希望这会有所帮助......