1

カテゴリに表示される国のリストのレイアウトを準備しています。レイアウトのフォーマットに問題があります。カテゴリ タイトル (大きいもの) を「100% 幅」にしたいのですが、これまでのところ、WRAP_CONTENT 形式になっています (青色はテスト用です)。

デバッグ ビュー

次のコードを使用しました。

TableLayout table = new TableLayout(this);
table.setPadding(24, 14, 24, 24);
table.setStretchAllColumns(true);  
table.setShrinkAllColumns(true);

// ...

TableRow titleRow = new TableRow(this);
titleRow.setGravity(Gravity.CENTER_HORIZONTAL);
titleRow.setPadding(0, 18, 0, 8);
titleRow.setBackgroundColor(Color.BLUE);

TextView title = new TextView(this);
title.setText("TEST TITLE");  //title.setText(currentContinent); 
title.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18);
title.setGravity(Gravity.CENTER);
title.setBackgroundColor(Color.DKGRAY);
title.setPadding(0, 6, 0, 8);

titleRow.addView(title);
table.addView(titleRow, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

コードの最後の部分を変更して、TextView の塗りつぶしを親 (TableRow) にしました。

titleRow.addView(title, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
table.addView(titleRow, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

しかし、その後、私の TextView が消えます!

デバッグ ビュー http://www.wysyper.pl/u/4417tahfcvnb.jpeg

問題の原因は何ですか?

4

1 に答える 1

0

I trust that you have a good reason not to use XML layouts for this, which should make your life a lot less code-filled and eliminate some potential bugs.

Have you tried it using instances of the proper LayoutParams subclass for your parent views? Each view added to a TableLayout should use instances of TableLayout.LayoutParams. Likewise TableRow expects instances of TableRow.LayoutParams.

If that doesn't fix it, I recommend building the layout in XML instead of code.

于 2012-10-30T19:43:27.790 に答える