【发布时间】:2020-05-11 13:28:06
【问题描述】:
我正在制作一个自定义视图,我可以在其上添加项目(图像、文本等)并拖动它们,以及缩放和旋转。现在我想向该画布添加整个视图。我使用了View 的draw(canvas) 方法,它可以工作。但是,我无法与该视图交互,例如例如,如果它有一个按钮,即使我将触摸事件传递给该视图,我也无法单击它。我正在这样做:
val mySubView = LayoutInflater.from(context).inflate(R.layout.item, null)
// mySubView is passed to CustomView at some point
class CustomView(context: Context, attrs: AttributeSet?) : View(context, attrs) {
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
mySubView.draw(canvas)
}
override fun onTouchEvent(event: MotionEvent): Boolean {
val handled = mySubView.onTouchEvent(event)
return handled || super.onTouchEvent(event)
}
}
有什么想法吗?谢谢!
【问题讨论】:
标签: android kotlin view touch-event