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 一起使用的正确方法是什么?