Android技术知识Android开发经验谈Android开发

记录: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。

以上纯属我个人观点,若有问题望见谅。

上一篇下一篇

猜你喜欢

热点阅读