我试图实现一个表格布局,其下面有一个标题和一堆行。我已经选择了GridLayout(android.support.v7.widget.GridLayout),因为某些元素需要跨越多个列(但问题无关紧要)。
我的标题单元格每个都包含带有一堆TextView的LinearLayout,它们会动态填充代码,例如,请查看下面的图像。 第二行应该包含一个分隔符,它是一个简单的视图,应该跨越我的标题列(3)。
问题是分隔符的宽度 - 如果我选择MATCH_PARENT,它将推动GridLayout将整个剩余空间填充到右边。网格需要包含内容并水平居中。在我看来,网格的布局(WRAP_CONTENT)和分隔符的布局(MATCH_PARENT)之间存在冲突。
如何在不对其进行硬编码的情况下修复分隔线的宽度?
http://i61.tinypic.com/2415eg5.png
红色,我的LinearLayouts(标题),绿色,GridLayout本身,底部的蓝色细线是分隔线。
谢谢, MO
解决方案(如下所示): 我必须将分隔符的列权重设置为1,而不指定宽度(实际将其设置为零)。由于我在代码中处理所有这些的特定要求,解决方案是手动实例化GridLayout.LayoutParams类并使用
ColumnSpec = GridLayout.InvokeSpec(row_index, num_spanned_cols, weight)
希望将来能帮助其他人。
答案 0 :(得分:0)
如果您将宽度设置为0dp,请将其设为for (var key in loopTest) {
if(Object.prototype.toString.call(loopTest[key].date) === '[object Array]') {
for (var i = 0; i < loopTest[key].date.length; i++) {
$('.content').append('- ' + loopTest[key].date[i] + '<br />');
}
} else {
$('.content').append('- ' + loopTest[key].date + '<br />');
}
}
(你可以给它任何你想要的重量)它应该填满所有可用的空间,如果我理解你的正确要求,就不会突破你的界限