首页 > android程序打开的时候为什么总是先actionbar显示一会儿

android程序打开的时候为什么总是先actionbar显示一会儿

public void onCreate(Bundle savedInstanceState) {   

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    ActionBar actionBar = getActionBar();
    actionBar.hide(); 
}

我在代码里隐藏了actionbar,为什么还会显示?

另外一个问题,我在代码里设置了标题和子标题,大致样子和我上面的代码差不多,将actionBar.hide()那里的代码替换掉,我发现在启动这个程序的时候还是会显示一下actionbar的,这是为什么?


和android的view绘制相关,当启动一个activity时,先绘制然后再调用onCreate,所以这时间差内能看到action bar的。

如果你应用中不存在需要将action bar在显示和隐藏两种状态中切换,可以在manifest中设置action bar的状态,这样就不会出现上述现象。


用hide不科学。

在super.onCreate(savedInstanceState); 之前调用setTheme, 选择一个没有actionbar的主题。
或者给Manifest.xml里面对应的Activity设置theme, 选不要Actionbar的
如果都不想要,直接在application把主题设成NoActionBar的。

【热门文章】
【热门文章】