Android: Сделать перекрытие Actionbar.

У меня есть активность, где Actionbar скрыт, и когда я нажимаю кнопку, я хочу, чтобы она была видимой, но я не хочу, чтобы активность макета прокручивалась вниз, панель должна перекрывать ее. Как я могу это сделать?

Чтобы скрыть панель, я использую

actionbar.hide(); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 

И сделать это видимым:

 actionbar.show(); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); 

Мой макет просто

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <MyPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" > <MyPager> </RelativeLayout> 

Заранее спасибо.

Solutions Collecting From Web of "Android: Сделать перекрытие Actionbar."

Вероятно, вы ищете режим наложения ActionBar . Включите его для одного Activity , вызвав requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); Перед setContentView() . Или в теме, установив android:windowActionBarOverlaytrue .

Создайте RelativeLayout для родительского макета активности и поместите свою панель действий в верхней части макета, которая наложит ее поверх основного содержимого активности, как показано в примере ниже.

RelativeLayout позволяет вам позиционировать элементы, но также позволяет вам определять порядок элементов z-index элементов вида сверху вниз, т.е. какие представления находятся впереди / позади других.

 <RelativeLayout android:id="@+id/parent_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/action_bar_layout" android:layout_width="match_parent" android:layout_height="100dp"> </LinearLayout> <LinearLayout android:id="@+id/main_activity_content_layout" android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout> </RelativeLayout> 

Теперь вы можете скрыть / показать action_bar_layout и не повлиять на позитив содержимого активности в main_activity_content_layout (используя метод setVisibility () макета)

Для эффекта Google Play Store используйте …

  • Попробуйте этот новый виджет панели инструментов, представленный в Lollipop (API Level 21)
  • Это также поддерживается этим api в более ранних версиях Android.