我正在将行和cels添加到TableLayout中,通过编程解决问题,使单元格与父级高度匹配,但是,行设置如下:
row = TableRow(context)
row.layoutParams =
TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.MATCH_PARENT, 1.0f)
row.layoutParams = params;
然后,我在一些值中循环,并将单元格添加到“行”中,大致如下:
for(i..7){
val cel = TextView(context)
val params =
LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT)
cel.layoutParams =params
cel.setBackgroundColor(Color.BLUE)
cel.text = i.toString()
}
但是cel (TextView-在我的例子中)没有填充高度,也尝试过:
val params =
LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.MATCH_PARENT, 1.0f)
但是当试图设置布局参数时,-in没有工作,两种情况下的表"disapears“都形成了视图.有人知道正确的答案吗?
发布于 2018-02-25 15:13:52
首先,正确地指定布局参数。布局参数由父视图管理。因此TableRow
应该有TableLayout.LayoutParams
,任何单元格(这里是TextView
)都应该有TableRow.LayoutParams
。TableLayout
告诉TableRows
如何布局,TableRows
告诉它们的单元格如何布局。
所有提到的布局参数(包括LinearLayout.LayoutParams
)都采用三个参数:宽度、高度和权重。当您使用正确的类时,它应该只工作™。
https://stackoverflow.com/questions/48976265
复制