3

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

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

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

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

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

4

1 回答 1

3

GridLayout文档中所述:

孩子占据一个或多个连续的单元格,由他们的 rowSpeccolumnSpec布局参数定义。每个规范都定义了要占用的行或列的集合;以及子级应如何在生成的单元格组中对齐。

你可以这样使用rowSpeccolumnSpec喜欢:

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

        }.lparams {
            rowSpec = GridLayout.spec(1)
            columnSpec = GridLayout.spec(1)
        }
    }
}.view
于 2016-07-23T14:35:11.367 回答