添加触摸事件监听器到Android画布

时间:2013-07-14 01:19:58

标签: java android events android-canvas ontouchlistener

我有一个canvas对象(c),我需要添加一个触摸事件监听器,这样每当触摸画布时,我都可以调用一个函数。到目前为止,我还没有找到如何添加它,这就是我所拥有的:

c.setOnTouchListener(new onTouchListener(){onTouchEvent()});

然后是onTouchEvent方法:

public boolean onTouchEvent(MotionEvent e){
    addBubble();
    return false;
}

java和android开发的新手,感谢您的帮助!

如果我不想在画布上添加触控器,那么我应该如何实现呢?

2 个答案:

答案 0 :(得分:4)

画布没有触摸事件。画布不在屏幕元素上,它们是通用的可绘制区域,有点像Win32中的HDC。他们甚至不需要绘制到屏幕上,他们可以在内存中绘制到位图。视图是屏幕上的元素,它们具有触摸侦听器。您需要将侦听器添加到视图中,而不是添加到画布。

答案 1 :(得分:1)

您可以创建自定义View实现。无论你使用Canvas做什么,都要在onDraw()中实现它,它接收Canvas作为参数。然后将您的视图添加到布局中,并为其提供所需的任何侦听器。