记录:SurfaceView在地图上播放显示透明的问题
2018-08-17 本文已影响97人
阴天吃鱼
记录一个之前遇到的问题:
在地图上播放视频,surfaceview会变透明且被地图所覆盖。无论你布局怎么写,它都是这样的。表示这个问题当时觉得是真的很奇葩。解决方式也写了很多。
解决方式 :
一、我单独写一个activity用来播放视频好了。
二、给其加上 setZOrderOnTop(true); 将控件置于所有最顶层。但这个不太好控制合理
性,具体还是要看项目。 我这边是因为外层还有个抽屉··所以不太好。
三、控制一下不同时刻地图的隐藏问题。处理的逻辑较多,也算是一种解决方式。
四、使用Api 不同地图的解决方式,会让SurfaceView视频将mapview覆盖
1.高德地图,如果用的3D,mapview换成com.amap.api.maps.TextureMapView。,从而解决播放这个问题。
<com.amap.api.maps.TextureMapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
2.百度地图同理。
产生问题的原因:
mapview底层也是个SurfaceView , 而SurfaceView 不能产生叠加,如果有叠加的话,会隐藏掉其中一方。所以要么换种写法,不产生叠加,要么返过来压着map。
以上纯属我个人观点,若有问题望见谅。