视频学习之旅(一) SurfaceView控件--------------画面重叠问题
2017-03-20 17:14
1396 查看
有一个这样的需求,下面有2个tab进行切换,第一个是录像界面(暂定为界面A),第二个是拍照界面(暂定为界面B),我第一个想到的就是用SurfaceView控件来实现,在布局文件里面它的属性很简单的。然后就想着录像界面就显示录像预览画面,拍照界面就显示拍照预览画面,但是当我切换的时候问题就来了。第一次打开应用是进入界面A,当我切换到界面B时,发现界面A的预览画面还显示在界面B上,这样就遮挡了界面B的SurfaceView,这样肯定是不行的,然后我就去查看了SurfaceView的开发文档。
Control whether the surface view's surface is placed on top of another regular surface view in the window (but still behind the window itself). This is typically used to place overlays on top of an underlying media surface view.
Note that this must be set before the surface view's containing window is attached to the window manager.
大概意思就是不论这个SurfaceView是否在其他SurfaceView的上面,这个api的作用通常就是将其覆盖在其他媒体上面
这个SurfaceView是否在其他SurfaceView的上面,这个api的作用通常就是将其覆盖在其他媒体上面。然后我就在代码中设置了这句代码发现并没有解决我的问题,这个时候我想到了surfaceView的生命周期,原来我在切换的时候它界面A的surfaceView并没有销毁,照理来说当我不再界面A的时候他就会隐藏,既然知道他没有销毁就好办了,每次在推出界面A的时候设置当前界面的SurfaceView不可见,刚进入的时候就设置为可见,这样就不会出现重叠问题了,这也证明了当前界面onPause时,surfaceView是会销毁的。
public void setZOrderMediaOverlay (boolean
isMediaOverlay)
Control whether the surface view's surface is placed on top of another regular surface view in the window (but still behind the window itself). This is typically used to place overlays on top of an underlying media surface view.Note that this must be set before the surface view's containing window is attached to the window manager.
setZOrderMediaOverlay
大概意思就是不论这个SurfaceView是否在其他SurfaceView的上面,这个api的作用通常就是将其覆盖在其他媒体上面这个SurfaceView是否在其他SurfaceView的上面,这个api的作用通常就是将其覆盖在其他媒体上面。然后我就在代码中设置了这句代码发现并没有解决我的问题,这个时候我想到了surfaceView的生命周期,原来我在切换的时候它界面A的surfaceView并没有销毁,照理来说当我不再界面A的时候他就会隐藏,既然知道他没有销毁就好办了,每次在推出界面A的时候设置当前界面的SurfaceView不可见,刚进入的时候就设置为可见,这样就不会出现重叠问题了,这也证明了当前界面onPause时,surfaceView是会销毁的。
相关文章推荐
- SurfaceView+MediaPlayer 播放视频 锁屏 没有画面等各种问题的解决方案。
- OpenCV学习 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- WebView加载视频时只有声音没有画面的问题
- 安卓4.0后新控件TextureView解决SurfaceView在修改默认屏幕方向后视频方向无法翻转的问题
- android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法
- android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法
- Android 学习笔记之SurfaceView的使用+如何实现视频播放...
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- surfaceview叠加问题(地图上显示视频)
- 两个surfaceview的重叠效果类似直播效果中的视频和讲义实践
- cocostudio学习之有关UIScrollView控件的一个问题
- [Android]浮层视频效果,在另外一个Window使用SurfaceView无法正常显示的问题排查与解决
- 代码添加surfaceView和其控件遇到的问题
- webview 播放H5视频问题 黑屏 只有声音没有画面
- Android SurfaceView播放视频有声音无图像问题
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- Android学习之 VideoView,SurfaceView(各种视频相关)
- [Android]视频浮层效果使用SurfaceView无法正常显示的问题排查和解决方案
- SurfaceView控件在部分机型上不能显示问题
- 解决Android使用SurfaceView播放视频结束后黑屏问题