我的想法是有两个surfaceViews。一个surfaceView将保存一个图像(比如ImageSurgaceView),第二个表面位于第一个保存注释(比如AnnotationSurfaceView)的顶部,如圆形,矩形等。现在我必须映射这些表面视图,使其高度,宽度是相同的,而且,表面视图应该在拖动时移动,即共享触摸事件。确切地说,当我向上移动图像时,注释也应该向上移动。
现在,我不确定这在Android中是否可行。任何人都可以告诉或分享这方面的一些信息。我没有任何实现想法,因此我没有任何具体的代码。而且,我找不到类似的东西。
感谢您的帮助。
答案 0 :(得分:21)
是的,这是可能的。您可以将SurfaceView
添加为FrameLayout
的子项。您还需要在SufaceView
中的一个或两个上致电setZOrderMediaOverlay,以指定它们的分层方式。
此外,这可能是您正在描述的图形密集型算法。请考虑添加AndroidManifest.xml
应用属性android:hardwareAccelerated="true"
。
最后,只需设置自定义OnTouchListener
即可处理拖动事件。使用MotionEvent.getRawX()
和MotionEvent.getRawY()
获取触摸点,并使用此操作来操作画布。