Example usage for android.view View SYSTEM_UI_FLAG_IMMERSIVE

List of usage examples for android.view View SYSTEM_UI_FLAG_IMMERSIVE

Introduction

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

Prototype

int SYSTEM_UI_FLAG_IMMERSIVE

To view the source code for android.view View SYSTEM_UI_FLAG_IMMERSIVE.

Click Source Link

Document

Flag for #setSystemUiVisibility(int) : View would like to remain interactive when hiding the navigation bar with #SYSTEM_UI_FLAG_HIDE_NAVIGATION .

Usage

From source file:Main.java

public static String systemUIVisibilityString(View theView) {
    int crap = theView.getWindowSystemUiVisibility();

    int duhs[] = { View.SYSTEM_UI_FLAG_LOW_PROFILE, View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,
            View.SYSTEM_UI_FLAG_FULLSCREEN, View.SYSTEM_UI_FLAG_LAYOUT_STABLE,
            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,
            View.SYSTEM_UI_FLAG_IMMERSIVE, View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY };
    String result = "OK: 0";

    for (int duh : duhs) {
        if ((crap & duh) == duh) {
            switch (duh) {
            case View.SYSTEM_UI_FLAG_LOW_PROFILE:
                result += " | SYSTEM_UI_FLAG_LOW_PROFILE";
                break;
            case View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:
                result += " | SYSTEM_UI_FLAG_HIDE_NAVIGATION";
                break;
            case View.SYSTEM_UI_FLAG_FULLSCREEN:
                result += " | SYSTEM_UI_FLAG_FULLSCREEN";
                break;
            case View.SYSTEM_UI_FLAG_LAYOUT_STABLE:
                result += " | SYSTEM_UI_FLAG_LAYOUT_STABLE";
                break;
            case View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:
                result += " | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION";
                break;
            case View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:
                result += " | SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN";
                break;
            case View.SYSTEM_UI_FLAG_IMMERSIVE:
                result += " | SYSTEM_UI_FLAG_IMMERSIVE";
                break;
            case View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY:
                result += " | SYSTEM_UI_FLAG_IMMERSIVE_STICKY";
                break;
            }//from   w  ww . j  av  a 2 s  .c o m
        }
    }

    return result;
}

From source file:Main.java

@SuppressLint("InlinedApi")
public static void makeFullscreen(Activity activity) {
    //      if (!SkyUtility.isNexus()) return;
    //      if (SkyUtility.isNexusTablet()) return;
    activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    if (Build.VERSION.SDK_INT >= 19) {
        activity.getWindow().getDecorView()
                .setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
    } else if (Build.VERSION.SDK_INT >= 11) {
        activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
    }//  ww  w . j a  va  2 s .c o  m
}

From source file:Main.java

@TargetApi(VERSION_CODES.KITKAT)
public static void hideSystemUI(Activity activity) {
    // Set the IMMERSIVE flag.
    // Set the content to appear under the system bars so that the content
    // doesn't resize when the system bars hideSelf and show.
    View decorView = activity.getWindow().getDecorView();
    decorView.setSystemUiVisibility(/*from www.j  av a  2 s .c o m*/
            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 // hideSelf nav bar
                    | View.SYSTEM_UI_FLAG_FULLSCREEN // hideSelf status bar
                    | View.SYSTEM_UI_FLAG_IMMERSIVE);
}

From source file:MainActivity.java

private void hideSystemUi() {
    getWindow().getDecorView()/*from   w w  w  . j a v a 2  s. c o  m*/
            .setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | 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);
}

From source file:com.rn.full.screen.FullScreen.java

@ReactMethod
public void onFullScreen() {
    UiThreadUtil.runOnUiThread(new Runnable() {
        @Override/*w ww  .jav a 2s  .  co m*/
        public void run() {
            getCurrentActivity().getWindow().getDecorView()
                    .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 // hide nav bar
                            | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
                            | View.SYSTEM_UI_FLAG_IMMERSIVE);
        }
    });

}

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

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) {
    final View flagsView = inflater.inflate(R.layout.fragment_flags, container, false);
    mLowProfileCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_enable_lowprof);
    mHideNavCheckbox = (CheckBox) flagsView.findViewById(R.id.flag_hide_navbar);
    mHideStatusBarCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_hide_statbar);
    mImmersiveModeCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_enable_immersive);
    mImmersiveModeStickyCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_enable_immersive_sticky);

    Button toggleFlagsButton = (Button) flagsView.findViewById(R.id.btn_changeFlags);
    toggleFlagsButton.setOnClickListener(new View.OnClickListener() {
        @Override//  w  w  w  .  j  ava  2  s . com
        public void onClick(View view) {
            toggleUiFlags();
        }
    });

    Button presetsImmersiveModeButton = (Button) flagsView.findViewById(R.id.btn_immersive);
    presetsImmersiveModeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            // BEGIN_INCLUDE(immersive_presets)
            // For immersive mode, the FULLSCREEN, HIDE_HAVIGATION and IMMERSIVE
            // flags should be set (you can use IMMERSIVE_STICKY instead of IMMERSIVE
            // as appropriate for your app).  The LOW_PROFILE flag should be cleared.

            // Immersive mode is primarily for situations where the user will be
            // interacting with the screen, like games or reading books.
            int uiOptions = flagsView.getSystemUiVisibility();
            uiOptions &= ~View.SYSTEM_UI_FLAG_LOW_PROFILE;
            uiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
            uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
            uiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE;
            uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            flagsView.setSystemUiVisibility(uiOptions);
            // END_INCLUDE(immersive_presets)

            dumpFlagStateToLog(uiOptions);

            // The below code just updates the checkboxes to reflect which flags have been set.
            mLowProfileCheckBox.setChecked(false);
            mHideNavCheckbox.setChecked(true);
            mHideStatusBarCheckBox.setChecked(true);
            mImmersiveModeCheckBox.setChecked(true);
            mImmersiveModeStickyCheckBox.setChecked(false);
        }
    });

    Button presetsLeanbackModeButton = (Button) flagsView.findViewById(R.id.btn_leanback);
    presetsLeanbackModeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // BEGIN_INCLUDE(leanback_presets)
            // For leanback mode, only the HIDE_NAVE and HIDE_STATUSBAR flags
            // should be checked.  In this case IMMERSIVE should *not* be set,
            // since this mode is left as soon as the user touches the screen.
            int uiOptions = flagsView.getSystemUiVisibility();
            uiOptions &= ~View.SYSTEM_UI_FLAG_LOW_PROFILE;
            uiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
            uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
            uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE;
            uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            flagsView.setSystemUiVisibility(uiOptions);
            // END_INCLUDE(leanback_presets)

            dumpFlagStateToLog(uiOptions);

            // The below code just updates the checkboxes to reflect which flags have been set.
            mLowProfileCheckBox.setChecked(false);
            mHideNavCheckbox.setChecked(true);
            mHideStatusBarCheckBox.setChecked(true);
            mImmersiveModeCheckBox.setChecked(false);
            mImmersiveModeStickyCheckBox.setChecked(false);
        }
    });

    // Setting these flags makes the content appear under the navigation
    // bars, so that showing/hiding the nav bars doesn't resize the content
    // window, which can be jarring.
    int uiOptions = flagsView.getSystemUiVisibility();
    uiOptions |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
    uiOptions |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
    uiOptions |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
    flagsView.setSystemUiVisibility(uiOptions);

    return flagsView;
}

From source file:info.ipeanut.googletrainingcoursedemos.advancedimmersivemode.AdvancedImmersiveModeFragment.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state) {
    final View flagsView = inflater.inflate(R.layout.fragment_flags, container, false);
    mLowProfileCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_enable_lowprof);
    mHideNavCheckbox = (CheckBox) flagsView.findViewById(R.id.flag_hide_navbar);
    mHideStatusBarCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_hide_statbar);
    mImmersiveModeCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_enable_immersive);
    mImmersiveModeStickyCheckBox = (CheckBox) flagsView.findViewById(R.id.flag_enable_immersive_sticky);

    Button toggleFlagsButton = (Button) flagsView.findViewById(R.id.btn_changeFlags);
    toggleFlagsButton.setOnClickListener(new View.OnClickListener() {
        @Override//  ww w  . j ava  2 s.c  om
        public void onClick(View view) {
            toggleUiFlags();
        }
    });

    Button presetsImmersiveModeButton = (Button) flagsView.findViewById(R.id.btn_immersive);
    presetsImmersiveModeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            // For immersive mode, the FULLSCREEN, HIDE_HAVIGATION and IMMERSIVE
            // flags should be set (you can use IMMERSIVE_STICKY instead of IMMERSIVE
            // as appropriate for your app).  The LOW_PROFILE flag should be cleared.

            // Immersive mode is primarily for situations where the user will be
            // interacting with the screen, like games or reading books.
            int uiOptions = flagsView.getSystemUiVisibility();
            uiOptions &= ~View.SYSTEM_UI_FLAG_LOW_PROFILE;
            uiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
            uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
            uiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE;
            uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            flagsView.setSystemUiVisibility(uiOptions);

            dumpFlagStateToLog(uiOptions);

            // The below code just updates the checkboxes to reflect which flags have been set.
            mLowProfileCheckBox.setChecked(false);
            mHideNavCheckbox.setChecked(true);
            mHideStatusBarCheckBox.setChecked(true);
            mImmersiveModeCheckBox.setChecked(true);
            mImmersiveModeStickyCheckBox.setChecked(false);
        }
    });

    Button presetsLeanbackModeButton = (Button) flagsView.findViewById(R.id.btn_leanback);
    presetsLeanbackModeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            // For leanback mode, only the HIDE_NAVE and HIDE_STATUSBAR flags
            // should be checked.  In this case IMMERSIVE should *not* be set,
            // since this mode is left as soon as the user touches the screen.
            int uiOptions = flagsView.getSystemUiVisibility();
            uiOptions &= ~View.SYSTEM_UI_FLAG_LOW_PROFILE;
            uiOptions |= View.SYSTEM_UI_FLAG_FULLSCREEN;
            uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
            uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE;
            uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            flagsView.setSystemUiVisibility(uiOptions);

            dumpFlagStateToLog(uiOptions);

            // The below code just updates the checkboxes to reflect which flags have been set.
            mLowProfileCheckBox.setChecked(false);
            mHideNavCheckbox.setChecked(true);
            mHideStatusBarCheckBox.setChecked(true);
            mImmersiveModeCheckBox.setChecked(false);
            mImmersiveModeStickyCheckBox.setChecked(false);
        }
    });

    // Setting these flags makes the content appear under the navigation
    // bars, so that showing/hiding the nav bars doesn't resize the content
    // window, which can be jarring.
    int uiOptions = flagsView.getSystemUiVisibility();
    uiOptions |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
    uiOptions |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
    uiOptions |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
    flagsView.setSystemUiVisibility(uiOptions);

    return flagsView;
}

From source file:com.webmons.disono.toolbar.MainActivity.java

@TargetApi(Build.VERSION_CODES.KITKAT)
private void hideSystemUI() {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN // hide nav bar
            | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
            | View.SYSTEM_UI_FLAG_IMMERSIVE // remove the following flag for version < 19
    );//from www. j a  v a  2 s  .  c om
}

From source file:de.sourcestream.movieDB.controller.GalleryPreviewSlide.java

/**
 * @param savedInstanceState if the fragment is being re-created from a previous saved state, this is the state.
 *///  ww  w . ja v a 2s . co m
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (activity.getSupportActionBar() != null)
        activity.getSupportActionBar().hide();
    if (Build.VERSION.SDK_INT >= 19) {
        mUIFlag ^= View.SYSTEM_UI_FLAG_IMMERSIVE;
    }
    activity.getWindow().getDecorView().setBackgroundColor(ContextCompat.getColor(activity, R.color.black));
    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
        activity.getWindow().getDecorView().setSystemUiVisibility(mUIFlag);
    else
        activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}

From source file:com.miz.mizuu.ImageViewer.java

@SuppressLint("InlinedApi")
private void hideSystemUi() {
    getWindow().getDecorView().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);

    mHandler.removeCallbacks(mHideSystemUiRunnable);

    getSupportActionBar().hide();//  w  w  w .  j  a  va 2 s .c o m
}