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

public void onCreate(Bundle savedInstanceState) {   

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

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

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

阅读 9.9k
2 个回答

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

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

用hide不科学。

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏