Anko docs告诉我们如何将自定义视图添加到DSL。但是,如果我的自定义视图是视图组,则会出现问题。如何将自定义视图组添加到Anko 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一起使用的正确方法是什么?
我提出了一个关于该问题https://github.com/Kotlin/anko/issues/152 – netimen