Android - скрыть панель действий при запуске, а затем снова показать?

В моем приложении для Android есть навигация по вкладкам с помощью панели действий. Это работает хорошо, но меня беспокоит то, что во время первой загрузки приложения на короткое время появляется небольшая панель действий по умолчанию, прежде чем ее заменяет настоящая панель действий с навигацией по вкладкам. Мой onCreate начинается так:

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
    setContentView(R.layout.activity_main);

    //Set up the actionbar
    final ActionBar actionBar = getActionBar();
.
.
.

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

Спасибо


person LoneDuck    schedule 18.09.2012    source источник
comment


Ответы (3)


Скрывать при запуске

 getSupportActionBar().hide();

После того, как вы можете показать это снова с помощью ...

 getSupportActionBar().show();

То же самое должно быть и с родной панелью действий Android.

вы должны использовать эту строку в манифесте и не использовать getActionBar()

<item name="android:windowActionBar">false</item>

и как только он будет завершен в основной деятельности, используйте ниже или ничего

<item name="android:windowActionBar">true</item>
person MBMJ    schedule 18.09.2012
comment
Как добавить указанный вами XML, чтобы приложение загружалось с ‹item name=android:windowActionBar›false‹/item›, но затем переключалось на ‹item name=android:windowActionBar›true‹/item› после начала основного действия? - person LoneDuck; 18.09.2012
comment
Я попытался назначить самому приложению тему без панели действий, но назначить действие с темой с одной (используя android:windowActionBar). Он по-прежнему загружается с панелью действий по умолчанию и только затем инициализирует себя как настоящую панель действий навигации. - person LoneDuck; 18.09.2012
comment
stackoverflow.com/questions/8500283/ посмотреть эту ссылку - person MBMJ; 19.09.2012

поместите это для определения вашего манифеста активности:

 <activity
            android:name=".MyActivity"
             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            >

затем внутри вашего oncreate сделайте это, чтобы показать фактическую тему, которую вы хотите использовать:

setTheme(R.style.AppTheme); 
person j2emanue    schedule 05.10.2013

если вы используете шерлок панели действий и хотите переключить это из FragmentActivity, тогда вы вызываете

getSherlockActivity().getSupportActionBar().hide();
person kevinl    schedule 18.01.2013