2016-07-23 18 views
3

如何爲Anko中的gridLayout中的元素設置列和行值?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

回答

3

作爲GridLayout文檔中所述:

兒童佔用一個或多個鄰接的細胞,可以通過 rowSpeccolumnSpec佈局參數所定義的。每個規格定義了要被佔用的行或列的集合 ;以及孩子應該如何在所得到的一組小組內對齊。

您可以使用rowSpeccolumnSpec像這樣:

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

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