Anko DSL 写自定义 View
2020-06-29 本文已影响0人
Obadiah
例如如果自定义 View 的类名是 ViewPagerNoTouchEvent 的话,则在自定义 View 的 kt 文件后面加:
inline fun ViewManager.viewPagerNoTouchEvent() = viewPagerNoTouchEvent {}
inline fun ViewManager.viewPagerNoTouchEvent(init: ViewPagerNoTouchEvent.() -> Unit) =
ankoView(::ViewPagerNoTouchEvent, 0, init)
直接使用可能会报错找不到 id,可以加上一个随意的 id
constructor(context: Context?) : super(context!!) {
id = android.R.id.text1
}
constructor(context: Context?, attrs: AttributeSet?) : super(
context!!,
attrs
) {
id = android.R.id.text1
}