0

この画像のようにテーブル内にスピナーを動的に追加したいのですが、その幅と高さを指定する方法もあります:

ここに画像の説明を入力してください

どんな助けでもありがたいです。

4

3 に答える 3

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));

お役に立てれば....

于 2012-11-23T12:38:58.527 に答える
0

TableLayout フォーム xml を取得し、その xml をコードに展開します。addView(new TableRow())... を使用して、新しい TableRows を tableLayout に追加できるようになりました。

また、各テーブル行に View(View v) を追加できます。Uは、TableLayoutに追加する各TableRowにWeightを追加できます..あなたの場合

TableRow の重みは 2 になります

addView(new TextView())
addView(new Spinner())
于 2012-09-24T09:33:18.403 に答える
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);"

テーブル行に追加したいビューの場合、「幅」や「高さ」などの属性を設定することもできます。

于 2012-09-24T09:35:41.620 に答える