10

我的想法是有两个surfaceViews。一个 SurfaceView 将保存一个图像(比如 ImageSurgaceView)和第二个表面,它位于第一个表面之上,其中包含圆形、矩形等注释(比如 AnnotationSurfaceView)。现在我必须映射这些表面视图,以便高度、宽度是相同的,此外,两个表面视图都应该在拖动时移动,即共享触摸事件。准确地说,当我向上移动图像时,注释也应该向上移动。

现在,我不确定这在android中是否可行。任何人都可以告诉或分享一些信息。我对此没有任何实现想法,因此我没有任何特定代码。此外,我找不到类似的东西。

感谢您的帮助。

4

1 回答 1

21

是的,这是可能的。您可以将两个SurfaceViews 添加为 a 的子项FrameLayout。您还需要在您的一个或两个上调用setZOrderMediaOverlaySufaceView以指定它们的分层方式。

此外,这可能是您描述的图形密集型算法。考虑添加AndroidManifest.xml 应用程序属性android:hardwareAccelerated="true"

最后,只需设置一个自定义OnTouchListener来处理拖动事件。使用MotionEvent.getRawX()andMotionEvent.getRawY()获取接触点,并使用它来操作画布。

于 2013-08-21T14:01:26.667 回答