Anko - 在gridLayout中设置元素的行和列值

时间:2016-07-23 11:02:53

标签: android kotlin anko

如何在Anko中的gridLayout中为元素设置列和行值?

我尝试了几个版本,但这不能编译:

   return UI {
        gridLayout() {
            columnCount = 2
            rowCount = 3
            button("1x1") {

            }.lparams() { column = 1; row = 1 }
        }
    }.view

当我像这样(作为函数)或作为大括号内的属性时,它表示它不能引用columnrow。当我将它们作为lparams的参数提供时,它会显示none of the following functions can be called with arguments supplied

1 个答案:

答案 0 :(得分:3)

GridLayout文档中所述:

  

儿童占据一个或多个连续细胞,如其定义的那样   rowSpeccolumnSpec布局参数。每个规范定义了一组   要占用的行或列;以及孩子应该如何   在最终的细胞群中对齐。

您可以像这样使用rowSpeccolumnSpec

return UI {
    gridLayout() {
        columnCount = 2
        rowCount = 3
        button("1x1") {

        }.lparams {
            rowSpec = GridLayout.spec(1)
            columnSpec = GridLayout.spec(1)
        }
    }
}.view