android 百度定位开启后fragment 不显示,解决Android百度地图MapView在ViewPager中Fragment切换黑屏问题...
百度地圖切換界面出現黑屏原因是地圖退出釋放內存時渲染出現bug導致、因為是百度地圖本身內部bug、所以我們無法從本質上去修復這個bug
android:id="@ id/dynamics_mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:background="@color/common_background"
android:layout_alignParentStart="true"
android:layout_below="@ id/dynamics_top"
android:clickable="true"/>
解決方案一
在官方論壇找到了解決辦法、就是要把mapview改成TextureMapView
解決方案二
我們bug的出現黑屏現象隱藏起來、將地圖的釋放過程放入后臺進行、從而避免黑屏的出現、這里提供解決方案、大家可以參考一下、然后根據自己的需求自定義解決方案
1、在使用MapView的Fragment的onResume/onPause方法中手動調用設置view是否可見
2, Activity對應XML布局中單獨使用一個View來替換嵌套有MapView的Fragment、需要顯示該Fragment 時、設置該View為可見、不使用時設置為不可見
3、從地圖界面切換只其他界面時、手動隱藏地圖界面、并在后臺釋放內存、完整代碼如下
再不行就用1.通過左邊側邊欄,從fragmentB切換到fragmentA(此時fragmentA會發生閃黑屏),解決如下:
將百度地圖mapView設置為不可見(android:visibility="invisible"),在fragmentA的onResume下延遲0.5秒,將mapView設置為可見,即在fragmentA完全滑出后再顯示mapView;(0.5秒時間足夠了吧),這樣從fragmentB切換到fragmentA就不會閃黑屏了。代碼如下:
handler.postDelayed(new Runnable() {
@Override
public void run() {
mMapView.setVisibility(View.VISIBLE);
}
},500) ;
總結
以上是生活随笔為你收集整理的android 百度定位开启后fragment 不显示,解决Android百度地图MapView在ViewPager中Fragment切换黑屏问题...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android progressbar动
- 下一篇: android studio for循环