Example usage for android.view View SYSTEM_UI_FLAG_HIDE_NAVIGATION

List of usage examples for android.view View SYSTEM_UI_FLAG_HIDE_NAVIGATION

Introduction

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

Prototype

int SYSTEM_UI_FLAG_HIDE_NAVIGATION

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

Click Source Link

Document

Flag for #setSystemUiVisibility(int) : View has requested that the system navigation be temporarily hidden.

Usage

From source file:de.spiritcroc.modular_remote.MainActivity.java

private int getHideSystemUIFlags() {
    int flags;/*w  w  w.j  a  va 2s . c o m*/
    if (Build.VERSION.SDK_INT >= 19) {
        flags = View.SYSTEM_UI_FLAG_IMMERSIVE;
    } else {
        flags = 0;
    }
    if (Build.VERSION.SDK_INT >= 16) {
        if (fullscreen) {
            flags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN;
        }
        if (hideNavigationBar) {
            flags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        }
        if (hideActionBar) {
            flags |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
        }
    }
    return flags;
}

From source file:com.stoutner.privacybrowser.MainWebViewActivity.java

@Override
// Remove Android Studio's warning about the dangers of using SetJavaScriptEnabled.  The whole premise of Privacy Browser is built around an understanding of these dangers.
@SuppressLint("SetJavaScriptEnabled")
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_coordinatorlayout);

    // We need to use the SupportActionBar from android.support.v7.app.ActionBar until the minimum API is >= 21.
    Toolbar supportAppBar = (Toolbar) findViewById(R.id.appBar);
    setSupportActionBar(supportAppBar);//w  ww. j  a  v  a  2  s .  c  o m
    final ActionBar appBar = getSupportActionBar();

    // This is needed to get rid of the Android Studio warning that appBar might be null.
    assert appBar != null;

    // Add the custom url_bar layout, which shows the favoriteIcon, urlTextBar, and progressBar.
    appBar.setCustomView(R.layout.url_bar);
    appBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

    // Set the "go" button on the keyboard to load the URL in urlTextBox.
    urlTextBox = (EditText) appBar.getCustomView().findViewById(R.id.urlTextBox);
    urlTextBox.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // If the event is a key-down event on the "enter" button, load the URL.
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                // Load the URL into the mainWebView and consume the event.
                try {
                    loadUrlFromTextBox();
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
                // If the enter key was pressed, consume the event.
                return true;
            } else {
                // If any other key was pressed, do not consume the event.
                return false;
            }
        }
    });

    final FrameLayout fullScreenVideoFrameLayout = (FrameLayout) findViewById(R.id.fullScreenVideoFrameLayout);

    // Implement swipe to refresh
    swipeToRefresh = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
    assert swipeToRefresh != null; //This assert removes the incorrect warning on the following line that swipeToRefresh might be null.
    swipeToRefresh.setColorSchemeResources(R.color.blue);
    swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            mainWebView.reload();
        }
    });

    mainWebView = (WebView) findViewById(R.id.mainWebView);

    // Create the navigation drawer.
    drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    // The DrawerTitle identifies the drawer in accessibility mode.
    drawerLayout.setDrawerTitle(GravityCompat.START, getString(R.string.navigation_drawer));

    // Listen for touches on the navigation menu.
    final NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);
    assert navigationView != null; // This assert removes the incorrect warning on the following line that navigationView might be null.
    navigationView.setNavigationItemSelectedListener(this);

    // drawerToggle creates the hamburger icon at the start of the AppBar.
    drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, supportAppBar, R.string.open_navigation,
            R.string.close_navigation);

    mainWebView.setWebViewClient(new WebViewClient() {
        // shouldOverrideUrlLoading makes this WebView the default handler for URLs inside the app, so that links are not kicked out to other apps.
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            mainWebView.loadUrl(url);
            return true;
        }

        // Update the URL in urlTextBox when the page starts to load.
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            urlTextBox.setText(url);
        }

        // Update formattedUrlString and urlTextBox.  It is necessary to do this after the page finishes loading because the final URL can change during load.
        @Override
        public void onPageFinished(WebView view, String url) {
            formattedUrlString = url;

            // Only update urlTextBox if the user is not typing in it.
            if (!urlTextBox.hasFocus()) {
                urlTextBox.setText(formattedUrlString);
            }
        }
    });

    mainWebView.setWebChromeClient(new WebChromeClient() {
        // Update the progress bar when a page is loading.
        @Override
        public void onProgressChanged(WebView view, int progress) {
            // Make sure that appBar is not null.
            if (appBar != null) {
                ProgressBar progressBar = (ProgressBar) appBar.getCustomView().findViewById(R.id.progressBar);
                progressBar.setProgress(progress);
                if (progress < 100) {
                    progressBar.setVisibility(View.VISIBLE);
                } else {
                    progressBar.setVisibility(View.GONE);

                    //Stop the SwipeToRefresh indicator if it is running
                    swipeToRefresh.setRefreshing(false);
                }
            }
        }

        // Set the favorite icon when it changes.
        @Override
        public void onReceivedIcon(WebView view, Bitmap icon) {
            // Save a copy of the favorite icon for use if a shortcut is added to the home screen.
            favoriteIcon = icon;

            // Place the favorite icon in the appBar if it is not null.
            if (appBar != null) {
                ImageView imageViewFavoriteIcon = (ImageView) appBar.getCustomView()
                        .findViewById(R.id.favoriteIcon);
                imageViewFavoriteIcon.setImageBitmap(Bitmap.createScaledBitmap(icon, 64, 64, true));
            }
        }

        // Enter full screen video
        @Override
        public void onShowCustomView(View view, CustomViewCallback callback) {
            if (appBar != null) {
                appBar.hide();
            }

            // Show the fullScreenVideoFrameLayout.
            assert fullScreenVideoFrameLayout != null; //This assert removes the incorrect warning on the following line that fullScreenVideoFrameLayout might be null.
            fullScreenVideoFrameLayout.addView(view);
            fullScreenVideoFrameLayout.setVisibility(View.VISIBLE);

            // Hide the mainWebView.
            mainWebView.setVisibility(View.GONE);

            // Hide the ad if this is the free flavor.
            BannerAd.hideAd(adView);

            /* SYSTEM_UI_FLAG_HIDE_NAVIGATION hides the navigation bars on the bottom or right of the screen.
             * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar across the top of the screen.
             * SYSTEM_UI_FLAG_IMMERSIVE_STICKY makes the navigation and status bars ghosted overlays and automatically rehides them.
             */

            // Set the one flag supported by API >= 14.
            view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

            // Set the two flags that are supported by API >= 16.
            if (Build.VERSION.SDK_INT >= 16) {
                view.setSystemUiVisibility(
                        View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);
            }

            // Set all three flags that are supported by API >= 19.
            if (Build.VERSION.SDK_INT >= 19) {
                view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
            }
        }

        // Exit full screen video
        public void onHideCustomView() {
            if (appBar != null) {
                appBar.show();
            }

            // Show the mainWebView.
            mainWebView.setVisibility(View.VISIBLE);

            // Show the ad if this is the free flavor.
            BannerAd.showAd(adView);

            // Hide the fullScreenVideoFrameLayout.
            assert fullScreenVideoFrameLayout != null; //This assert removes the incorrect warning on the following line that fullScreenVideoFrameLayout might be null.
            fullScreenVideoFrameLayout.removeAllViews();
            fullScreenVideoFrameLayout.setVisibility(View.GONE);
        }
    });

    // Allow the downloading of files.
    mainWebView.setDownloadListener(new DownloadListener() {
        // Launch the Android download manager when a link leads to a download.
        @Override
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype,
                long contentLength) {
            DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
            DownloadManager.Request requestUri = new DownloadManager.Request(Uri.parse(url));

            // Add the URL as the description for the download.
            requestUri.setDescription(url);

            // Show the download notification after the download is completed.
            requestUri.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

            // Initiate the download and display a Snackbar.
            downloadManager.enqueue(requestUri);
            Snackbar.make(findViewById(R.id.mainWebView), R.string.download_started, Snackbar.LENGTH_SHORT)
                    .show();
        }
    });

    // Allow pinch to zoom.
    mainWebView.getSettings().setBuiltInZoomControls(true);

    // Hide zoom controls.
    mainWebView.getSettings().setDisplayZoomControls(false);

    // Initialize the default preference values the first time the program is run.
    PreferenceManager.setDefaultValues(this, R.xml.preferences, false);

    // Get the shared preference values.
    SharedPreferences savedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

    // Set JavaScript initial status.  The default value is false.
    javaScriptEnabled = savedPreferences.getBoolean("javascript_enabled", false);
    mainWebView.getSettings().setJavaScriptEnabled(javaScriptEnabled);

    // Initialize cookieManager.
    cookieManager = CookieManager.getInstance();

    // Set cookies initial status.  The default value is false.
    firstPartyCookiesEnabled = savedPreferences.getBoolean("first_party_cookies_enabled", false);
    cookieManager.setAcceptCookie(firstPartyCookiesEnabled);

    // Set third-party cookies initial status if API >= 21.  The default value is false.
    if (Build.VERSION.SDK_INT >= 21) {
        thirdPartyCookiesEnabled = savedPreferences.getBoolean("third_party_cookies_enabled", false);
        cookieManager.setAcceptThirdPartyCookies(mainWebView, thirdPartyCookiesEnabled);
    }

    // Set DOM storage initial status.  The default value is false.
    domStorageEnabled = savedPreferences.getBoolean("dom_storage_enabled", false);
    mainWebView.getSettings().setDomStorageEnabled(domStorageEnabled);

    // Set the user agent initial status.
    String userAgentString = savedPreferences.getString("user_agent", "Default user agent");
    switch (userAgentString) {
    case "Default user agent":
        // Do nothing.
        break;

    case "Custom user agent":
        // Set the custom user agent on mainWebView,  The default is "PrivacyBrowser/1.0".
        mainWebView.getSettings()
                .setUserAgentString(savedPreferences.getString("custom_user_agent", "PrivacyBrowser/1.0"));
        break;

    default:
        // Set the selected user agent on mainWebView.  The default is "PrivacyBrowser/1.0".
        mainWebView.getSettings()
                .setUserAgentString(savedPreferences.getString("user_agent", "PrivacyBrowser/1.0"));
        break;
    }

    // Set the initial string for JavaScript disabled search.
    if (savedPreferences.getString("javascript_disabled_search", "https://duckduckgo.com/html/?q=")
            .equals("Custom URL")) {
        // Get the custom URL string.  The default is "".
        javaScriptDisabledSearchURL = savedPreferences.getString("javascript_disabled_search_custom_url", "");
    } else {
        // Use the string from javascript_disabled_search.
        javaScriptDisabledSearchURL = savedPreferences.getString("javascript_disabled_search",
                "https://duckduckgo.com/html/?q=");
    }

    // Set the initial string for JavaScript enabled search.
    if (savedPreferences.getString("javascript_enabled_search", "https://duckduckgo.com/?q=")
            .equals("Custom URL")) {
        // Get the custom URL string.  The default is "".
        javaScriptEnabledSearchURL = savedPreferences.getString("javascript_enabled_search_custom_url", "");
    } else {
        // Use the string from javascript_enabled_search.
        javaScriptEnabledSearchURL = savedPreferences.getString("javascript_enabled_search",
                "https://duckduckgo.com/?q=");
    }

    // Set homepage initial status.  The default value is "https://www.duckduckgo.com".
    homepage = savedPreferences.getString("homepage", "https://www.duckduckgo.com");

    // Set swipe to refresh initial status.  The default is true.
    swipeToRefreshEnabled = savedPreferences.getBoolean("swipe_to_refresh_enabled", true);
    swipeToRefresh.setEnabled(swipeToRefreshEnabled);

    // Get the intent information that started the app.
    final Intent intent = getIntent();

    if (intent.getData() != null) {
        // Get the intent data and convert it to a string.
        final Uri intentUriData = intent.getData();
        formattedUrlString = intentUriData.toString();
    }

    // If formattedUrlString is null assign the homepage to it.
    if (formattedUrlString == null) {
        formattedUrlString = homepage;
    }

    // Load the initial website.
    mainWebView.loadUrl(formattedUrlString);

    // Initialize AdView for the free flavor and request an ad.  If this is not the free flavor BannerAd.requestAd() does nothing.
    adView = findViewById(R.id.adView);
    BannerAd.requestAd(adView);
}

From source file:com.wewow.MainActivity.java

protected void hideBottomUIMenu() {
    //???/* w ww  . ja va2s.c o  m*/
    if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
        View v = this.getWindow().getDecorView();
        v.setSystemUiVisibility(View.GONE);
    } else if (Build.VERSION.SDK_INT >= 19) {
        //for new api versions.
        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
        decorView.setSystemUiVisibility(uiOptions);

    }
}

From source file:io.imoji.sdk.editor.fragment.ImojiEditorFragment.java

private void hideSystemUiVisibility() {
    if (Build.VERSION.SDK_INT >= 19) {
        final View decorView = getActivity().getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
                //                                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
        decorView.setSystemUiVisibility(uiOptions);
        decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
            @Override/*  w w  w.j  a v a2  s . c  om*/
            public void onSystemUiVisibilityChange(int flags) {
                if ((flags & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                        decorView.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);
                    }
                }
            }
        });

    }
}

From source file:eu.e43.impeller.activity.MainActivity.java

@TargetApi(Build.VERSION_CODES.KITKAT)
void setUiFlags() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH)
        return;/*from ww w. j a  v  a 2  s .  c  om*/

    ViewFlipper flipper = (ViewFlipper) findViewById(R.id.overlay_flipper);
    if (m_overlayController != null) {
        // Fullscreen
        int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_FULLSCREEN;

        if (m_overlayController.isImmersive()) {
            flags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                flags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            }
        }

        flipper.setSystemUiVisibility(flags);
    } else {
        // Standard
        flipper.setSystemUiVisibility(0);
    }
}

From source file:com.android.deskclock.alarms.AlarmActivity.java

private void hideNavigationBar() {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}

From source file:com.free.searcher.MainFragment.java

void setNavVisibility(boolean visible) {
    int newVis = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
    if (!visible) {
        container.setVisibility(View.INVISIBLE);
        newVis = View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_IMMERSIVE
        //| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        ;//from  ww  w  .jav a  2  s.c  om
    } else if (showFind) {
        container.setVisibility(View.VISIBLE);
        actionBar.show();
    } else {
        actionBar.show();
    }
    Log.d("newVis", newVis + "");
    // Set the new desired visibility.
    statusView.setSystemUiVisibility(newVis);
}

From source file:paulscode.android.mupen64plusae.profile.TouchscreenProfileActivity.java

@SuppressLint("InlinedApi")
private void hideSystemBars() {
    getSupportActionBar().hide();//w  w w  .  j  av  a 2 s.c  o m
    View view = mSurface.getRootView();
    if (view != null) {
        if (AppData.IS_KITKAT && mGlobalPrefs.isImmersiveModeEnabled)
            view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
        else
            view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); // == STATUS_BAR_HIDDEN for Honeycomb
    }
}

From source file:com.repkap11.repcast.activities.LocalPlayerActivity.java

private void hideSystemUI() {
    // Set the IMMERSIVE flag.
    // Set the content to appear under the system bars so that the content
    // doesn't resize when the system bars hide and show.
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE //dont resize when system bars visible
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION// dont resize when system bars visible
            | 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_STICKY);

}

From source file:cz.metaverse.android.bilingualreader.ReaderActivity.java

/**
 * Activates full-screen mode - hides status bar, system navigation and the Action Bar.
 *///from  www  .j  a  va 2 s  . co m
@SuppressLint("InlinedApi") // Android versions not supporting Immersive Fullscreen ignore unsupported flags.
public void activateFullscreen(boolean setFlags) {

    // Hide action bar and activate fullscreen flags.
    fullscreenMode = true;
    getActionBar().hide();

    if (setFlags) {
        // Android 4.0 and before have a different mechanism for fullscreen:
        if (Build.VERSION.SDK_INT < 16) {
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
        // Android 4.1 JellyBean and newer:
        else {
            // Set basic fullscreen flags
            int flags = View.SYSTEM_UI_FLAG_FULLSCREEN; // Hides the status bar

            // Set flags for devices with support for immersive fullscreen.
            if (Build.VERSION.SDK_INT >= 19) {
                // The last two flags make for a smoother transition between states.
                flags = flags | View.SYSTEM_UI_FLAG_IMMERSIVE // Ensures that no touch events won't cancel fullscreen mode.
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // Hides the system navigation
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION // Ensures more seamless transition.
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; // Ensures more seamless transition.
            }

            decorView.setSystemUiVisibility(flags);
        }
    }

    // Signal to the Governor that a runtime change has occurred.
    governor.onRuntimeChange();
}