主要問題是:lparams
簡單地從Anko走了,還是我在做一些非常錯誤的事情?下面的代碼片斷編譯失敗:Anko 0.8 - 未解決的lparams參考
verticalLayout {
}.lparams(width = matchParent, height = matchParent) {
topMargin = dip(10)
}
雖然這個工作沒有任何問題:
verticalLayout {
layoutParams = LinearLayout.LayoutParams(matchParent, matchParent).apply {
topMargin = dip(10)
}
}
我不會介意的第二個選項太多,但你必須指定生成時的佈局類型params,這可能會讓人感到厭煩(也比原來的解決方案更脆弱)。
我還沒有在Anko
GitHub頁面上找到任何東西,更新日誌,或者通過瀏覽最近的提交。下面是引用完整的UI類:
class ReviewsFragmentUi(ctx: AnkoContext<ReviewsFragment>) : AnkoComponent<ReviewsFragment> {
override fun createView(ui: AnkoContext<ReviewsFragment>) = ui.apply {
verticalLayout {
layoutParams = LinearLayout.LayoutParams(matchParent, matchParent).apply {
topMargin = dip(10)
}
}
}.view
}
相關搖籃項(我使用科特林1.0.0-β-3595):
ext.versions = [
anko : '0.8.1',
]
compile "org.jetbrains.anko:anko-common:$versions.anko",
compile "org.jetbrains.anko:anko-sdk21:$versions.anko",
compile "org.jetbrains.anko:anko-support-v4:$versions.anko",
compile "org.jetbrains.anko:anko-design:$versions.anko",
compile "org.jetbrains.anko:anko-appcompat-v7:$versions.anko",
compile "org.jetbrains.anko:anko-cardview-v7:$versions.anko",
compile "org.jetbrains.anko:anko-recyclerview-v7:$versions.anko",
compile "org.jetbrains.anko:anko-gridlayout-v7:$versions.anko",
作爲後續問題:如果lparams
是確實沒有了,那麼是否有比我已經做的更優雅的替代品?