android GridLayout分隔符行

时间:2015-05-14 17:23:59

标签: android android-layout android-gridlayout

我试图实现一个表格布局,其下面有一个标题和一堆行。我已经选择了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)

希望将来能帮助其他人。

1 个答案:

答案 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 />'); } } (你可以给它任何你想要的重量)它应该填满所有可用的空间,如果我理解你的正确要求,就不会突破你的界限