¿Cómo puedo excluir ActionBar cuando las transiciones entre Actividades en Android 5.0

En Android 5.0 Lollipop,

Tengo dos actividades A y B. La actividad B tiene una transición slie entrar desde la parte inferior con una superposición ActionBar, pero cuando B muestra, la ActionBar también se desliza de abajo hacia arriba.

¿Cómo puedo evitar que la barra de acción de la transición de diapositivas. ¿La barra de acción del sistema tiene un identificador que puedo agregar al objetivo de exclusión?

¡Gracias!

Si está utilizando la biblioteca AppCompat v7, es fácil:

View decor = getWindow().getDecorView(); int actionBarId = R.id.action_bar_container; enterTransition.excludeTarget(decor.findViewById(actionBarId), true); 

Desafortunadamente, el ID de la vista de contenedor de la barra de acción no forma parte de la API pública, por lo que si no está utilizando la biblioteca AppCompat v7 (es decir, está utilizando las bibliotecas de framework oficiales) tendrá que solucionarlo utilizando el siguiente código para recuperar El ID en su lugar:

 int actionBarId = getResources().getIdentifier("action_bar_container", "id", "android"); 

Tenga en cuenta que este código se interrumpirá si cambia el nombre de ID del contenedor de la barra de acción en una futura versión de Android. Dudo que cambie …

Vea este post para obtener alguna otra información relacionada.

Mi solución es extender el estilo con este args:

 <item name="android:windowActivityTransitions">true</item> <item name="android:windowContentTransitions">true</item> <item name="android:windowEnterTransition">@transition/slide</item> <item name="android:windowExitTransition">@transition/slide</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowSharedElementEnterTransition">@transition/enter</item> <item name="android:windowSharedElementExitTransition">@transition/enter</item> 

Esto aquí es mi res/transition/slide.xml :

 <?xml version="1.0" encoding="utf-8"?> <slide xmlns:android="http://schemas.android.com/apk/res/android" android:slideEdge="bottom"> <targets> <target android:excludeId="@android:id/statusBarBackground"/> <target android:excludeId="@android:id/navigationBarBackground"/> </targets> </slide> 

Esto aquí es mi res/transition/enter.xml :

 <?xml version="1.0" encoding="utf-8"?> <transitionSet xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:targetSdkVersion="19" android:transitionOrdering="sequential"> <targets> <target android:excludeId="@id/action_bar_container"/> <target android:excludeId="@android:id/statusBarBackground"/> </targets> <changeBounds/> <changeTransform/> <changeClipBounds/> <changeImageTransform/> </transitionSet> 

Puedes jugar con esas transiciones a tu gusto, lo más importante son los objetivos excluidos.

  • Transición de actividad de elementos compartidos en android 5
  • Transición del fragmento Android con elemento compartido
  • Transición de elemento compartido en una vista en un RecyclerView, ¿posible?
  • Fragmentos de ViewPager - Transiciones de elementos compartidos
  • Cómo saber cuándo finaliza la transición de elemento compartido
  • Múltiples elementos compartidos
  • Las transiciones de elementos compartidos no funcionan cuando se combinan con un CoordinatorLayout y CollapsingToolbarLayout
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.