【问题标题】:add touch event listener to android canvas将触摸事件侦听器添加到 android 画布
【发布时间】:2013-07-14 01:19:58
【问题描述】:

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

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

然后是onTouchEvent方法:

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

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

如果我不打算在画布上添加触摸侦听器,那么我应该如何实现呢?

【问题讨论】:

标签: java android events android-canvas ontouchlistener


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 谢谢!我实际上已经有一个自定义视图实现,所以我只是将侦听器添加到视图中,它运行良好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 2011-05-29
    • 2019-03-21
    相关资源
    最近更新 更多