use*_*805 4 android android-layout
我以TableRow layout_weight编程方式设置时遇到问题.以下代码是TableLayout膨胀的table_body元素:
<TableLayout
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:weightSum="1">
<TableLayout>
Run Code Online (Sandbox Code Playgroud)
我想在TableLayout..中只显示10行,为此我用编程方式添加TableRow元素,这是代码:
while(i<10){
TableRow row = (TableRow) ((Activity) context).getLayoutInflater().
inflate(R.layout.body_row, table_body, false);
TableRow.LayoutParams row_params =
new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, 0, 0.1f);
table_body.addView(row, row_params);
i++;
}
Run Code Online (Sandbox Code Playgroud)
body_row.xml有这段代码:
<TableRow>
<TextView
android:text="row1"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</TableRow>
Run Code Online (Sandbox Code Playgroud)
这个代码TableLayout没有划分为10个相等的空格(正如我想要的那样),但是行只用最后一行结尾和TableLayout结尾之间的空格结果包装它们的内容.我做错了什么?谢谢!!
Luk*_*rog 10
要使重量机制起作用,您需要使用适合LayoutParams您的充气TableRow小部件.由于母公司TableRow是TableLayout,那么你需要使用TableLayout.LayoutParams:
TableLayout.LayoutParams row_params = new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0, 0.1f);
table_body.addView(row, row_params);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4565 次 |
| 最近记录: |