隐藏并显示状态栏,对android中的布局没有任何影响

时间:2014-12-01 08:06:45

标签: android statusbar ebook-reader

我想编写一个通常以全屏方式运行的书籍阅读器应用程序,但是当用户触摸屏幕时,状态栏会在我的主要布局中显示,而不会重新创建整个视图。 我已经阅读了这些但根本没有帮助:

Hide notification bar without using fullscreen Hide Notification bar Android Show Activity Title/status bar at the top after it is hidden

任何想法我该怎么做?

感谢

1 个答案:

答案 0 :(得分:0)

最后,我做到了!! 这两种方法将显示和隐藏状态栏而不会破坏布局。 你需要设置

private View mMainView; // The main view of the activity

private int mSystemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;

然后

    /** Hides StatusBar and ActionBar */
private void hideSystemUi() {

    ActionBar ab = getActionBar();
    ab.hide();

    // Set flags for hiding status bar
    int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
    // Hide the status bar.
    mMainView.setSystemUiVisibility(uiOptions);}

   /** Shows StatusBar and ActionBar */
private void showSystemUi() {
    ActionBar ab = getActionBar();
    ab.show();
    // Reset flags 
    mMainView.setSystemUiVisibility(this.mSystemUiVisibility);
}

并将其放在onCreate()方法中:

mMainView = findViewById(R.id.mainLayout);
mMainView.setSystemUiVisibility(mSystemUiVisibility);