【发布时间】:2019-10-04 05:59:21
【问题描述】:
所以我正在制作一个需要绘制花环、灯泡和其他装饰的应用程序。我有一个代码可以在 Action_Move 上创建一个图像视图,但应用程序崩溃了。看下面的代码
fun drawLights(){
val listener = View.OnTouchListener(function = { view, motionEvent ->
val x = motionEvent.getX()
val y = motionEvent.getY()
when (motionEvent.action){
MotionEvent.ACTION_DOWN -> {
Toast.makeText(this,"Action Down",Toast.LENGTH_SHORT).show()
}
MotionEvent.ACTION_MOVE -> {
Toast.makeText(this, "Moving", Toast.LENGTH_SHORT).show()
////Imageview Creation Here using late init var
}
MotionEvent.ACTION_UP -> {
Toast.makeText(this,"Done" ,Toast.LENGTH_SHORT).show()
}
}
true
})
edit_Canvas.setOnTouchListener(listener)
}
这里有没有人知道任何与此相关的博客或已经解决了这个问题?谢谢!
【问题讨论】:
-
如果您在 ACTION_MOVE 上创建 ImageView,我认为您的代码会因为内存不足而崩溃。每次触摸屏幕时都会调用 onTouch,因此它最终会进行大量调用。
-
从技术上讲是的,我怎样才能以正确的方式做到这一点?