我在android應用程序中遇到問題。我想在TableLayout中動態創建TableRow。每一行都需要包含4個TextView。 我想TextView的是這樣的:Android:在固定寬度的TableLayout上動態添加TextView
- textview1:屏幕的40%
- textview2:屏幕的10%
- textview3:屏幕的10%
- textview5:的40%屏幕
我設法動態創建Tewtview,但不考慮尺寸。例如,如果我的第一個textview包含一個大文本,它將覆蓋所有屏幕,而不僅僅是40%和多行。
我讀了很多類似的問題,但在這裏找不到解決方案。這是我的佈局文件:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="30dip"
android:id="@+id/journee_contenu">
<TableRow>
<!-- Column 1 -->
<TextView
android:id="@+id/tbl_txt1"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="4"
android:text="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
/>
<!-- Column 2 -->
<TextView
android:id="@+id/tbl_txt2"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="bbbbb"
/>
<!-- Column 3 -->
<TextView
android:id="@+id/tbl_txt3"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="ccccc"
/>
<!-- Column 4 -->
<TextView
android:id="@+id/tbl_txt4"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="4"
android:text="ddddddddddddddddddddddddddddddddddddddddddddddd"
/>
</TableRow>
佈局創建一個具有第一行是因爲我希望它是一個靜態的標籤。但是,動態添加的行不具有相同的行爲方式。
我的動態代碼:
TableLayout genLayout = (TableLayout) findViewById(R.id.journee_contenu);
for (MatchWrapper match : matchs) {
TableRow tr1 = new TableRow(this);
TextView tvEq1 = new TextView(this);
tvEq1.setText(match.getEquipe1());
TextView tvSc1 = new TextView(this);
tvSc1.setText(match.getScore_equipe1());
TextView tvSc2 = new TextView(this);
tvSc2.setText(match.getScore_equipe2());
TextView tvEq2 = new TextView(this);
tvEq2.setText(match.getEquipe2());
tr1.addView(tvEq1);
tr1.addView(tvSc1);
tr1.addView(tvSc2);
tr1.addView(tvEq2);
genLayout.addView(tr1);
}
我的匹配對象只包含字符串與各種大小。非常感謝您的幫助
非常感謝Kasper!我嘗試了很多,但看起來很簡單! – Ulfounet