安卓Android开发——scrollview嵌套高德地图滑动出现黑影

高德地图使用——各种黑影黑屏

最近项目中用到了高德地图,在开发过程中遇到编写一个页面时一个ScrollView中包含一个map,会出现黑影,后期发现在一下三种场景下都会出现黑屏黑影

scrollview嵌套高德地图滑动 出现黑影

viewpager嵌套高德地图 出现黑影

带有高德地图的fragment切换 出现黑影

后来晚上资料说原理是这样:
一个显示地图的视图(View)。它负责从服务端获取地图数据。当屏幕焦点在这个视图上时,它将会捕捉键盘事件(如果手机配有实体键盘)及屏幕触控手势事件。

使用这个类必须按照它的生命周期进行操控,你必须参照以下方法onCreate(Bundle)、 onResume()、onPause()、onDestroy()、onSaveInstanceState(Bundle)、onLowMemory() 当MapView初始化完成后,用户可以通过getMap()方法获得一个AMap 对象。

如果MapView 没有初始成功,则执行getMap()将返回null。 如果要求程序在比较低版本的Android 上运行,使用这个类将比TextureMapFragment 或TextureSupportMapFragment 类更加合适。
它和MapView的区别在于,TextureMapView是一个TextureView而MapView是一个GLSurfaceView。
所以TextureMapView 可以和其他的GlSurfaceView(比如相机)共存不会出现穿透现象,也可以放在ViewPager中不会出现滑动黑边现象。

废话完了看解决办法

直接将MapView***替换为TextureMapView***
问题解决 彻底告别黑影

你可能感兴趣的:(学习笔记)