Как я могу исключить ActionBar при переходе между Activity на Android 5.0

На Android 5.0 Lollipop,

У меня есть два вида деятельности A и B. Активность B имеет переход с помощью slie из нижней части с помощью Overlay ActionBar, но когда B показывает, ActionBar также перемещается снизу вверх.

Как я могу запретить переход панели действий из слайд-перехода. Есть ли в панели действий системы идентификатор, который я могу добавить к цели исключения?

благодаря!

Если вы используете библиотеку AppCompat v7, это легко:

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

К сожалению, идентификатор представления контейнера панели действий не является частью общедоступного API, поэтому, если вы не используете библиотеку AppCompat v7 (то есть используете официальные библиотеки библиотек), вам нужно будет обойти это, используя следующий код для извлечения Идентификатор:

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

Обратите внимание, что этот код будет разбит, если имя идентификатора контейнера панели действий изменится в будущей версии Android. Я сомневаюсь, что это когда-нибудь изменится, хотя …

См. Это сообщение для другой другой связанной информации.

Мое решение состоит в том, чтобы расширить стиль с помощью этих аргументов:

 <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> 

Это вот мой 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> 

Это вот мой 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> 

Вы можете играть с такими переходами, как вам нравится, важны только те исключенные цели.