我有一个canvas对象(c),我需要添加一个触摸事件监听器,这样每当触摸画布时,我都可以调用一个函数。到目前为止,我还没有找到如何添加它,这就是我所拥有的:
c.setOnTouchListener(new onTouchListener(){onTouchEvent()});
然后是onTouchEvent方法:
public boolean onTouchEvent(MotionEvent e){
addBubble();
return false;
}
java和android开发的新手,感谢您的帮助!
如果我不想在画布上添加触控器,那么我应该如何实现呢?
答案 0 :(得分:4)
画布没有触摸事件。画布不在屏幕元素上,它们是通用的可绘制区域,有点像Win32中的HDC。他们甚至不需要绘制到屏幕上,他们可以在内存中绘制到位图。视图是屏幕上的元素,它们具有触摸侦听器。您需要将侦听器添加到视图中,而不是添加到画布。
答案 1 :(得分:1)
您可以创建自定义View实现。无论你使用Canvas做什么,都要在onDraw()中实现它,它接收Canvas作为参数。然后将您的视图添加到布局中,并为其提供所需的任何侦听器。