2 つのテキストビューとボタンを保持する画面の全幅のテーブル行があります。理想的には次のように表示したいと思います:
[テキストビュー1][テキストビュー2][ボタン]
Textview1 が左側に固定され、Button が右側に固定され、Textview2 が残りの使用可能なスペースを埋めます。私は周りを見回してきましたが、残っているものに合わせて自動的に拡大するオプションが見つかりません。
アプリの性質上、これらのテーブル行とそのコンテンツを自動的に追加する必要があるため、これまでのところ、これが私が持っているものです。
for( Program element : sampleList)
{
LayoutParams trLP = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
LayoutParams timeLP = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
LayoutParams titleLP = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
LayoutParams moreInfoLP = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
//Table row to hold details
TableRow tr = new TableRow(this);
tr.setLayoutParams(trLP);
//Time
TextView time = new TextView(this);
time.setText(element.getTime());
timeLP.width=50;
timeLP.gravity=1;
time.setLayoutParams(timeLP);
//Title
TextView title = new TextView(this);
title.setText(element.getTitle());
title.setLayoutParams(titleLP);
//Button
moreInfo = new Button(this);
moreInfo.setText("More Info");
//Add to text views to table row
tr.addView(time);
tr.addView(title);
tr.addView(moreInfo);
holder.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
}
上記は機能しますが、明らかに希望どおりに表示されません。中央のテキストビューに wrap_content があるため、幅をハードコーディングできることはわかっていますが、そのシナリオから離れたいと思っています。私が達成しようとしていることは、私が持っている現在のコードでも可能ですか?