2015-09-03 3 views
0

Мое приложение содержит действие с несколькими фрагментами. Действие показывает ActionBar по умолчанию. Однако есть несколько фрагментов, отображаемых в порядке, где ActionBar не должен показывать. Для этих фрагментов я скрываю ActionBar в коде onCreate с getActivity().getActionBar().hide();. Однако каждый раз, когда один из этих фрагментов загружается, ActionBar мгновенно мигает на экране перед исчезновением.Скрытие Actionbar перед транзакцией фрагмента (Android)

Как я могу заставить панель действий исчезнуть, прежде чем фрагменты будут отображаться на экране? Для справки ниже приведен код, который я использую для транзакций между фрагментами:

FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
    transaction.replace(R.id.container, fragment); 
    transaction.commitAllowingStateLoss(); 
+0

Что делать, если вы прячете перед совершением сделки? – natario

+0

Почему вы не можете скрыться в своей деятельности? – tachyonflux

ответ

2

Я бы предложил два способа решить эту проблему.

  1. Пересмотрите вашу активность осколков отношения, она должна быть разделена на различные виды деятельности, то есть какие-то действия с панели действий, некоторые без панели действий.

  2. Используйте панель инструментов и удалите все панели действий по умолчанию, назначьте панель инструментов своим фрагментам, которые нуждаются в ней вместо активности. Напоминаем, что вы не используете setSupportActionBar(), поскольку это не является частью макета активности.

+0

Немного более подробно о том, как достичь числа 2, было бы очень полезно. – par

Смежные вопросы