Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void toggleHideyBar(final ForgeTask task) {
- task.performUI(new Runnable() {
- public void run() {
- // The UI options currently enabled are represented by a bitfield.
- // getSystemUiVisibility() gives us that bitfield.
- int uiOptions = ForgeApp.getActivity().getWindow().getDecorView().getSystemUiVisibility();
- int newUiOptions = uiOptions;
- boolean isImmersiveModeEnabled = ((uiOptions | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY) == uiOptions);
- if (isImmersiveModeEnabled) {
- ForgeLog.d("Turning immersive mode mode off.");
- } else {
- ForgeLog.d("Turning immersive mode mode on.");
- }
- // Navigation bar hiding: Backwards compatible to ICS.
- if (Build.VERSION.SDK_INT >= 14) {
- newUiOptions ^= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
- }
- // Status bar hiding: Backwards compatible to Jellybean
- if (Build.VERSION.SDK_INT >= 16) {
- newUiOptions ^= View.SYSTEM_UI_FLAG_FULLSCREEN;
- }
- // Immersive mode: Backward compatible to KitKat.
- // Note that this flag doesn't do anything by itself, it only augments the behavior
- // of HIDE_NAVIGATION and FLAG_FULLSCREEN. For the purposes of this sample
- // all three flags are being toggled together.
- // Note that there are two immersive mode UI flags, one of which is referred to as "sticky".
- // Sticky immersive mode differs in that it makes the navigation and status bars
- // semi-transparent, and the UI flag does not get cleared when the user interacts with
- // the screen.
- if (Build.VERSION.SDK_INT >= 18) {
- newUiOptions ^= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
- }
- ForgeApp.getActivity().getWindow().getDecorView().setSystemUiVisibility(newUiOptions);
- task.success();
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement