Animación de Android ViewPager CrossFade

Implemento una vista BottomNavigation para android y tengo algunos fragmentos para mostrar como BottomNavigation páginas. De acuerdo con las Líneas de la Guía de diseño de material de Google , quiero mostrar fragmentos con animación de desvanecimiento cruzado.

Al tocar los elementos de BottomNavigation, mi ViewpPager cambia los fragmentos con la animación de diapositivas predeterminada.

He leído algunas soluciones en esto y esto . Pero estos no son realmente la animación se desvanecen y no pude establecer la duración de desvanecimiento.

¿Hay alguna manera de establecer una animación al cambiar las pestañas de ViewPager?

Finalmente, encontré mi respuesta.

Cambié el ViewPager con un diseño para guardar mis fragmentos (un diseño del marco). Entonces agregué fragmentos en un fragmentTransaction.

Al tocar un elemento en BottomNavigation, el fragmento actual se oculta y los nuevos fragmentos se muestran con una animación de fundido definida en fragmentTransaction.

Y este es mi código:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_page); addFragmentsToManager(); } private void addFragmentsToManager() { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out); fragmentTransaction.add(R.id.flContent, tripFragment, tripFragment.getClass().getSimpleName()); fragmentTransaction.add(R.id.flContent, notificationFragment, notificationFragment.getClass().getSimpleName()); fragmentTransaction.add(R.id.flContent, searchFragment, searchFragment.getClass().getSimpleName()); fragmentTransaction.add(R.id.flContent, profileFragment, profileFragment.getClass().getSimpleName()); fragmentTransaction.hide(tripFragment); fragmentTransaction.hide(notificationFragment); fragmentTransaction.hide(searchFragment); fragmentTransaction.hide(profileFragment); fragmentTransaction.commit(); } private void changeTab(int position) { Fragment fragment; switch (position) { fragment = .....// get framgnet from position } FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out); fragmentTransaction.hide(prvFragment); fragmentTransaction.show(fragment).commit(); prvFragment = fragment; } 
  • Cambio de la cuenta de ViewPager
  • 3 fragmentos androides en viewpager, cómo mantenerlos todos vivos?
  • "El niño especificado ya tiene un padre" error usando FragmentStatePagerAdapater
  • Navegación de nuevo a FragmentPagerAdapter -> fragmentos están vacíos
  • Viewpager con altura dinámica no funciona (siempre use la altura del primer fragmento)
  • Actualizar datos en ListFragment como parte de ViewPager
  • ViewPager en TabFragment no se carga por segunda vez
  • Animación de puntos mediante el buscapersonas
  • ScrollView dentro de ViewPager, se desplaza automáticamente hacia el centro
  • Fragmentos dentro de ViewPager desaparecen cuando cambia la orientación
  • Cómo hacer deslizar el deslizador en un paginador de vista en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.