Android:是否可以将两个surfaceview相互叠加?

Sho*_*hit 10 android surfaceview

我的想法是有两个surfaceViews.一个surfaceView将保存一个图像(比如ImageSurgaceView),第二个表面位于第一个保存注释(比如AnnotationSurfaceView)的顶部,如圆形,矩形等.现在我必须映射这些表面视图,使其高度,宽度是相同的,而且,表面视图应该在拖动时移动,即共享触摸事件.确切地说,当我向上移动图像时,注释也应该向上移动.

现在,我不确定这是否可能在Android中.任何人都可以告诉或分享这方面的一些信息.我没有任何实现想法,因此我没有任何具体的代码.而且,我找不到类似的东西.

谢谢你的帮助.

Phi*_*hil 21

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

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

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

  • 一个小的补充:setZOrderMediaOverlay()应该在OnCreate()中调用,否则它将没有效果 (2认同)

归档时间:

查看次数:

6579 次

最近记录:

12 年,11 月 前