私の人生にとって、なぜ私のテキストがこのようになっているのか理解できません。私はjava/androidプログラミングには新しいので、答えが明らかでない場合は謝罪します。私はtablelayout
を1つの静的な行と残りの動的にプログラムされている。静的な行は正常に見えますが、の両方のために1に設定されていますが、私の動的行の最初のtextview
が押しつぶされています。誰かが私がやっていること/していないことについて私に啓発してもらえますか?TextviewとTableRowの重みが正しく機能しないAndroid
XML:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="16dp"
android:id="@+id/alchemist_favored_class">
<TableRow>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Race"
android:gravity="left"
android:padding="2dp" />
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Bonus"
android:gravity="left"
android:padding="2dp" />
</TableRow>
</TableLayout>
のJava:
//Populate Favored Class Options Table
TableLayout tableFC = (TableLayout) findViewById(R.id.alchemist_favored_class);
String[] fcr = getResources().getStringArray(R.array.alchemist_favored_class_race);
String[] fcd = getResources().getStringArray(R.array.alchemist_favored_class_detail);
TableRow.LayoutParams lp1 = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f);
TableRow.LayoutParams lp2 = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT, 1f);
for (int i = 0; i < fcr.length; i++){
TableRow tr = new TableRow(this);
TextView tvFCR = new TextView(this);
TextView tvFCD = new TextView(this);
tr.addView(tvFCR);
tvFCR.setText(fcr[i]);
tvFCR.setSingleLine(true);
tvFCR.setPadding(2,2,2,2);
tvFCR.setLayoutParams(lp1);
tr.addView(tvFCD);
tvFCD.setText(fcd[i]);
tvFCD.setPadding(2,2,2,2);
tvFCD.setLayoutParams(lp2);
//Add background color to every other row.
if ((i % 2) == 0) {
tr.setBackgroundColor(Color.parseColor("#EEEEEE"));
}
tableFC.addView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.MATCH_PARENT));
}
結果:入れ
?あなたがやっていることよりはるかに簡単だろう... – margabro
親は私たちがスクロールビューを表示します。スクロール・ビュー内のリスト・ビューはスクロール可能で奇妙ではないでしょうか? – Flakpanda