Android实现隐藏Title Bar最稳定的办法


建立自带侧滑的Navigation Drawer Activity时自带ActionBar。这样导致的问题是,侧滑栏只能出现在TitileBar下面,而不能覆盖整个屏幕。

网上去掉Title Bar的办法一般是在Mainfest里修改App的样式或者用requestWindowFeature(Window.FEATURE_NO_TITLE);。但是由于版本的不同,这两个方法很容易引起崩溃。

下面的办法可以针对单个的Activity隐藏TitleBar。

1.构造一个函数

	
public void restoreActionBar() {
    ActionBar actionBar = getSupportActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
    actionBar.hide();
    actionBar.setDisplayShowTitleEnabled(false);
}
然后在Activity创建以及Menu创建时引用。需要注意的是,如果不在Activity创建时引用,TitleBar会先闪一下然后才消失。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    restoreActionBar();
    ……
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    restoreActionBar();
    getMenuInflater().inflate(R.menu.menu_achievement, menu);
    return true;
}



你可能感兴趣的:(Java&Android)