Anko DSL 写自定义 View

例如如果自定义 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
}

你可能感兴趣的:(Anko DSL 写自定义 View)