Android-在启动时隐藏动作栏然后再显示它?

时间:2012-09-18 02:46:33

标签: android android-actionbar

我的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();
.
.
.

我必须做什么才能初始化真正的操作栏,而不会在启动之前暂时显示一个小的默认操作栏?

由于

3 个答案:

答案 0 :(得分:5)

启动时隐藏

 getSupportActionBar().hide();

您可以再次显示...

 getSupportActionBar().show();

应该与Android的原生ActionBar相同。

你应该在清单中使用这一行,不要使用getActionBar()

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

并且一旦完成主要活动使用下面或没有

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

答案 1 :(得分:4)

将此项用于您的活动清单定义:

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

然后在你的oncreate中执行此操作以显示您想要使用的实际主题:

setTheme(R.style.AppTheme); 

答案 2 :(得分:1)

如果您正在使用操作栏sherlock并且想要从FragmentActivity切换它,那么您可以调用

getSherlockActivity().getSupportActionBar().hide();