【发布时间】:2016-06-09 16:15:24
【问题描述】:
Anko docs 告诉我们如何将自定义视图添加到 DSL。但是如果我的自定义视图是视图组,就会出现问题。
class MyFrameLayout(context: Context) : FrameLayout(context)
fun ViewManager.myFrameLayout(init: MyFrameLayout.() -> Unit = {}) = ankoView({ MyFrameLayout(it) }, init)
class MyUI : AnkoComponent<Fragment> {
override fun createView(ui: AnkoContext<Fragment>) = with(ui) {
myFrameLayout {
textView("hello").lparams { // error: Unresolved reference: lparams
bottomMargin = dip(40)
}
}
}
}
但如果我将myFrameLayout 调用更改为frameLayout,它可以正常工作。那么在 Anko DSL 中使用视图组的正确方法是什么?
【问题讨论】: