如何在Anko中的gridLayout中为元素设置列和行值?
我尝试了几个版本,但这不能编译:
return UI {
gridLayout() {
columnCount = 2
rowCount = 3
button("1x1") {
}.lparams() { column = 1; row = 1 }
}
}.view
当我像这样(作为函数)或作为大括号内的属性时,它表示它不能引用column
或row
。当我将它们作为lparams的参数提供时,它会显示none of the following functions can be called with arguments supplied
。
答案 0 :(得分:3)
如GridLayout
文档中所述:
儿童占据一个或多个连续细胞,如其定义的那样
rowSpec
和columnSpec
布局参数。每个规范定义了一组 要占用的行或列;以及孩子应该如何 在最终的细胞群中对齐。
您可以像这样使用rowSpec
和columnSpec
:
return UI {
gridLayout() {
columnCount = 2
rowCount = 3
button("1x1") {
}.lparams {
rowSpec = GridLayout.spec(1)
columnSpec = GridLayout.spec(1)
}
}
}.view