У меня возникли проблемы с настройкой ViewPager с использованием PageTransformer и MapView. Проблема заключается в том, что, когда viewpager настроен на использование PageTransformer, mapview исчезает (становится прозрачным) во время панорамирования. Однако, если я не использую трансформатор и просто панорамирование, Mapview в порядке. Кто-нибудь знает, что вызывает такое поведение?Android MapView исчезает с помощью ViewPager и PageTransformer
В настоящее время PageTransformer ничего не делает, но просто устанавливает, что это влияет на способ рисования карты. Следует отметить, что карта становится прозрачной, пока сохраняется карта (Официальное уведомление). Когда ViewPager переходит в состояние ожидания, отображается Карта.
viewPager.setPageTransformer(true, this);
...
@Override
public void transformPage(View view, float position) {
}
XML: ViewPager Фрагмент
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF">
<com.google.android.gms.maps.MapView
android:id="@+id/mapcontainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false"/>
</FrameLayout>
Карта Фрагмент:
private GoogleMap map;
private MapView mapView;
private Bundle mapBundle;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mapBundle = savedInstanceState;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.mapfragment, container, false);
MapsInitializer.initialize(getActivity());
mapView = (MapView) rootView.findViewById(R.id.mapcontainer);
mapView.onCreate(mapBundle);
map = mapView.getMap();
return rootView;
}
@Override
public void onResume(){
super.onResume();
mapView.onResume();
}
@Override
public void onPause(){
super.onPause();
mapView.onPause();
}
@Override
public void onDestroy(){
super.onDestroy();
mapView.onDestroy();
}
Для MapView вставить некоторую задержку после использования обработчика загрузки карты в вашем ViewPager. И скажите мне, что это решает вашу проблему –