Example usage for android.view View setSystemUiVisibility

List of usage examples for android.view View setSystemUiVisibility

Introduction

In this page you can find the example usage for android.view View setSystemUiVisibility.

Prototype

public void setSystemUiVisibility(int visibility) 

Source Link

Document

Request that the visibility of the status bar or other screen/window decorations be changed.

Usage

From source file:com.segma.trim.MainActivity.java

private void hideNavigationBar() {

    //TODO: 11-4-2016 FIX: Hide Navigation Bar
    final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN
            //| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
            | View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    final View decorView = getWindow().getDecorView();
    decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
        @Override/*from  w  ww  .  java 2 s  .  c  om*/
        public void onSystemUiVisibilityChange(int visibility) {
            // Note that system bars will only be "visible" if none of the
            // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set.
            if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                // TODO: The system bars are visible. Make any desired
                // adjustments to your UI, such as showing the action bar or
                // other navigational controls.

                //decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
                //decorView.setSystemUiVisibility(decorView.getSystemUiVisibility());
                //getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
                decorView.setSystemUiVisibility(flags);
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
            } else {
                // TODO: The system bars are NOT visible. Make any desired
                // adjustments to your UI, such as hiding the action bar or
                // other navigational controls.
            }
        }
    });
    decorView.setSystemUiVisibility(flags);
}

From source file:net.zorgblub.typhon.fragment.ReadingFragment.java

private void toggleTitleBar() {
    AppCompatActivity activity = (AppCompatActivity) getActivity();

    if (activity == null) {
        return;/*from   w ww  . j  a  v  a 2 s. c om*/
    }

    stopAnimating();

    if (this.titleBarLayout.getVisibility() == View.VISIBLE) {
        titleBarLayout.setVisibility(View.GONE);

        updateFromPrefs();
    } else {
        titleBarLayout.setVisibility(View.VISIBLE);

        View decorView = activity.getWindow().getDecorView();
        int uiOptions = decorView.getSystemUiVisibility();
        int newUiOptions = uiOptions;

        newUiOptions &= ~View.SYSTEM_UI_FLAG_FULLSCREEN;
        //newUiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
        decorView.setSystemUiVisibility(newUiOptions);
        activity.getSupportActionBar().show();
        dictionaryPane.conceal();
    }
}

From source file:com.aimfire.demo.CamcorderActivity.java

private void forceFullScreen() {
    if (Build.VERSION.SDK_INT < 16) {
        /*//w  ww. j  a  va  2  s .  c om
         * if the Android version is lower than Jellybean, use this call to hide
         * the status bar.
         */
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    } else {
        View decorView = getWindow().getDecorView();
        /*
         * hide the status bar.
         */
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
        /*
         * remember that we should never show the action bar if the
         * status bar is hidden, so hide that too if necessary.
         */
        ActionBar actionBar = getActionBar();
        if (actionBar != null) {
            actionBar.hide();
        }
    }
}

From source file:com.example.android.advancedimmersivemode.AdvancedImmersiveModeFragment.java

/**
 * Detects and toggles immersive mode (also known as "hidey bar" mode).
 *///from   w ww . j ava  2 s .c  o m
public void toggleUiFlags() {

    // BEGIN_INCLUDE (get_current_ui_flags)
    // The "Decor View" is the parent view of the Activity.  It's also conveniently the easiest
    // one to find from within a fragment, since there's a handy helper method to pull it, and
    // we don't have to bother with picking a view somewhere deeper in the hierarchy and calling
    // "findViewById" on it.
    View decorView = getActivity().getWindow().getDecorView();
    int uiOptions = decorView.getSystemUiVisibility();
    int newUiOptions = uiOptions;
    // END_INCLUDE (get_current_ui_flags)

    // BEGIN_INCLUDE (toggle_lowprofile_mode)
    // Low profile mode doesn't resize the screen at all, but it covers the nav & status bar
    // icons with black so they're less distracting.  Unlike "full screen" and "hide nav bar,"
    // this mode doesn't interact with immersive mode at all, but it's instructive when running
    // this sample to observe the differences in behavior.
    if (mLowProfileCheckBox.isChecked()) {
        newUiOptions |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
    } else {
        newUiOptions &= ~View.SYSTEM_UI_FLAG_LOW_PROFILE;
    }
    // END_INCLUDE (toggle_lowprofile_mode)

    // BEGIN_INCLUDE (toggle_fullscreen_mode)
    // When enabled, this flag hides non-critical UI, such as the status bar,
    // which usually shows notification icons, battery life, etc
    // on phone-sized devices.  The bar reappears when the user swipes it down.  When immersive
    // mode is also enabled, the app-drawable area expands, and when the status bar is swiped
    // down, it appears semi-transparently and slides in over the app, instead of pushing it
    // down.
    if (mHideStatusBarCheckBox.isChecked()) {
        newUiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
    } else {
        newUiOptions &= ~View.SYSTEM_UI_FLAG_FULLSCREEN;
    }
    // END_INCLUDE (toggle_fullscreen_mode)

    // BEGIN_INCLUDE (toggle_hidenav_mode)
    // When enabled, this flag hides the black nav bar along the bottom,
    // where the home/back buttons are.  The nav bar normally instantly reappears
    // when the user touches the screen.  When immersive mode is also enabled, the nav bar
    // stays hidden until the user swipes it back.
    if (mHideNavCheckbox.isChecked()) {
        newUiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    } else {
        newUiOptions &= ~View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    }
    // END_INCLUDE (toggle_hidenav_mode)

    // BEGIN_INCLUDE (toggle_immersive_mode)
    // Immersive mode doesn't do anything without at least one of the previous flags
    // enabled.  When enabled, it allows the user to swipe the status and/or nav bars
    // off-screen.  When the user swipes the bars back onto the screen, the flags are cleared
    // and immersive mode is automatically disabled.
    if (mImmersiveModeCheckBox.isChecked()) {
        newUiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE;
    } else {
        newUiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE;
    }
    // END_INCLUDE (toggle_immersive_mode)

    // BEGIN_INCLUDE (toggle_immersive_mode_sticky)
    // There's actually two forms of immersive mode, normal and "sticky".  Sticky immersive mode
    // is different in 2 key ways:
    //
    // * Uses semi-transparent bars for the nav and status bars
    // * This UI flag will *not* be cleared when the user interacts with the UI.
    //   When the user swipes, the bars will temporarily appear for a few seconds and then
    //   disappear again.
    if (mImmersiveModeStickyCheckBox.isChecked()) {
        newUiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    } else {
        newUiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    }
    // END_INCLUDE (toggle_immersive_mode_sticky)

    // BEGIN_INCLUDE (set_ui_flags)
    //Set the new UI flags.
    decorView.setSystemUiVisibility(newUiOptions);
    // END_INCLUDE (set_ui_flags)

    dumpFlagStateToLog(uiOptions);
}

From source file:org.brandroid.openmanager.activities.OpenExplorer.java

@SuppressWarnings("deprecation")
public void setLights(Boolean on) {
    try {/*from   www.j  a  v  a2  s . co  m*/
        View root = getCurrentFocus().getRootView();
        int vis = on ? View.STATUS_BAR_VISIBLE : View.STATUS_BAR_HIDDEN;
        if (root.getSystemUiVisibility() != vis)
            root.setSystemUiVisibility(vis);
    } catch (Exception e) {
    }
}

From source file:jmri.enginedriver.throttle.java

protected void setImmersiveModeOff(View webView) {
    immersiveModeIsOn = false;/*from w  ww  . j  a v a  2  s .c  o m*/

    if (prefThrottleViewImmersiveMode) { // if the preference is set use Immersive mode
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) {
            webView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
        }
        webView.invalidate();
    }
}

From source file:jmri.enginedriver.throttle.java

protected void setImmersiveModeOn(View webView) {
    immersiveModeIsOn = false;/*from   w w w.  j a v a2 s .c  om*/

    if (prefThrottleViewImmersiveMode) { // if the preference is set use Immersive mode
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) {
            immersiveModeIsOn = true;
            webView.setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                            | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
        }
    }
}