【发布时间】:2016-12-05 12:37:52
【问题描述】:
如何在 SurfaceView 中拖动自定义视图。触摸事件未从 SurfaceView 分派到子自定义视图或未调用子视图的 onTouchEvent。
【问题讨论】:
-
SurfaceView 不是 ViewGroup,因此不能容纳任何子视图。您只能在表面视图的画布上绘制东西。例如,您可以在触摸 x,y 上绘制一个矩形。
-
是的,你是对的。我有一个视图,我正在使用它的画布在 SurfaceView 上方的屏幕上绘制。但是这个视图(带边框的白色圆圈)没有收到任何事件。触摸和拖动事件都不会传播到此自定义视图。当我触摸它时,我想拖动它。我怎样才能做到这一点?
-
我在自定义 SurfaceView 类中有视图。如果我从 SurfaceView 的
public boolean dispatchTouchEvent(MotionEvent event) { dragCircle.dispatchTouchEvent(event); return true; }DragCircleView 实例调度事件以查看事件,但它在 SurfaceView 被触摸的任何地方得到,我尝试将 event.getX 和 getY 与圆形视图的 x 和 y 匹配,但它不起作用。跨度>
标签: android android-canvas surfaceview android-custom-view android-touch-event