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
}
上一篇下一篇

猜你喜欢

热点阅读