主要问题是: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
是确实没有了,那么是否有比我已经做的更优雅的替代品?