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