この画像のようにテーブル内にスピナーを動的に追加したいのですが、その幅と高さを指定する方法もあります:
どんな助けでもありがたいです。
私は少し遅れていることを知っていますが、これを試すことができます.....
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));
お役に立てれば....
TableLayout フォーム xml を取得し、その xml をコードに展開します。addView(new TableRow())... を使用して、新しい TableRows を tableLayout に追加できるようになりました。
また、各テーブル行に View(View v) を追加できます。Uは、TableLayoutに追加する各TableRowにWeightを追加できます..あなたの場合
TableRow の重みは 2 になります
addView(new TextView())
addView(new Spinner())
必要な数のテーブル行を追加できます。
"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);"
テーブル行に追加したいビューの場合、「幅」や「高さ」などの属性を設定することもできます。