Java Code Examples for android.view.View#SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR

The following examples show how to use android.view.View#SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may want to check out the right sidebar which shows the related API usage.
Example 1
public static void setSystemBarStyle(Context context, Window window, boolean miniAlpha,
                                     boolean statusShader, boolean lightStatus,
                                     boolean navigationShader, boolean lightNavigation) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
        return;
    }

    // statusShader &= Build.VERSION.SDK_INT < Build.VERSION_CODES.Q;
    lightStatus &= Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
    navigationShader &= Build.VERSION.SDK_INT < Build.VERSION_CODES.Q;
    lightNavigation &= Build.VERSION.SDK_INT >= Build.VERSION_CODES.O;

    int visibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
    if (lightStatus) {
        visibility |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
    }
    if (lightNavigation) {
        visibility |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
    }
    window.getDecorView().setSystemUiVisibility(visibility);

    setSystemBarColor(context, window, miniAlpha, statusShader, lightStatus, navigationShader, lightNavigation);
}
 
Example 2
Source Project: SimplicityBrowser   File: StaticUtils.java    License: MIT License 5 votes vote down vote up
public static void clearNavigationBar(Activity activity) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        int flags = activity.getWindow().getDecorView().getSystemUiVisibility(); // get current flag
        flags &= ~ View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR; // use XOR here for remove LIGHT_STATUS_BAR from flags_settings
        activity.getWindow().getDecorView().setSystemUiVisibility(flags);
    }
}
 
Example 3
Source Project: Android-utils   File: BarUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Set the nav bar's light mode.
 *
 * @param window      The window.
 * @param isLightMode True to set nav bar light mode, false otherwise.
 */
public static void setNavBarLightMode(@NonNull final Window window,
                                      final boolean isLightMode) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        View decorView = window.getDecorView();
        int vis = decorView.getSystemUiVisibility();
        if (isLightMode) {
            vis |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            vis &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }
        decorView.setSystemUiVisibility(vis);
    }
}
 
Example 4
Source Project: Notepad   File: NotepadBaseActivity.java    License: Apache License 2.0 5 votes vote down vote up
@Override
protected void onResume() {
    super.onResume();

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
        SharedPreferences pref = getSharedPreferences(getPackageName() + "_preferences", MODE_PRIVATE);
        String theme = pref.getString("theme", "light-sans");

        int navbarColorId = -1;
        int navbarDividerColorId = -1;
        int sysUiVisibility = -1;

        if(theme.contains("light")) {
            navbarColorId = R.color.navbar_color_light;
            navbarDividerColorId = R.color.navbar_divider_color_light;
            sysUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }

        if(theme.contains("dark")) {
            navbarColorId = R.color.navbar_color_dark;
            navbarDividerColorId = R.color.navbar_divider_color_dark;
            sysUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE;
        }

        getWindow().setNavigationBarColor(ContextCompat.getColor(this, navbarColorId));
        findViewById(Window.ID_ANDROID_CONTENT).setSystemUiVisibility(sysUiVisibility);

        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
            getWindow().setNavigationBarDividerColor(ContextCompat.getColor(this, navbarDividerColorId));
    }
}
 
Example 5
Source Project: DevUtils   File: BarUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 设置 Navigation Bar 是否高亮模式
 * @param window      {@link Window}
 * @param isLightMode 是否高亮模式
 * @return {@code true} success, {@code false} fail
 */
public static boolean setNavBarLightMode(final Window window, final boolean isLightMode) {
    if (window != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        View decorView = window.getDecorView();
        int vis = decorView.getSystemUiVisibility();
        if (isLightMode) {
            vis |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            vis &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }
        decorView.setSystemUiVisibility(vis);
        return true;
    }
    return false;
}
 
Example 6
Source Project: DevUtils   File: BarUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 获取 Navigation Bar 是否高亮模式
 * @param window {@link Window}
 * @return {@code true} yes, {@code false} no
 */
public static boolean isNavBarLightMode(final Window window) {
    if (window != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        View decorView = window.getDecorView();
        int vis = decorView.getSystemUiVisibility();
        return (vis & View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR) != 0;
    }
    return false;
}
 
Example 7
Source Project: AndroidBarUtils   File: AndroidBarUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
     * Android 6.0使用原始的主题适配
     *
     * @param activity Activity
     * @param darkMode 是否是黑色模式
     */
    public static void setBarDarkMode(Activity activity, boolean darkMode) {
        Window window = activity.getWindow();
        if (window == null) {
            return;
        }
        //设置StatusBar模式
        if (darkMode) {//黑色模式
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//设置statusBar和navigationBar为黑色
                    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
                } else {//设置statusBar为黑色
                    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
                }
            }
        } else {//白色模式
            int statusBarFlag = View.SYSTEM_UI_FLAG_VISIBLE;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                statusBarFlag = window.getDecorView().getSystemUiVisibility()
                        & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
            }
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//设置statusBar为白色,navigationBar为灰色
//                int navBarFlag = window.getDecorView().getSystemUiVisibility()
//                        & ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;//如果想让navigationBar为白色,那么就使用这个代码。
                int navBarFlag = View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
                window.getDecorView().setSystemUiVisibility(navBarFlag | statusBarFlag);
            } else {
                window.getDecorView().setSystemUiVisibility(statusBarFlag);
            }
        }
        setHuaWeiStatusBar(darkMode, window);
    }
 
Example 8
Source Project: AndroidNavigation   File: AppUtils.java    License: MIT License 5 votes vote down vote up
public static void setNavigationBarStyle(Window window, boolean dark) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        View decorView = window.getDecorView();
        int systemUi = decorView.getSystemUiVisibility();
        if (dark) {
            systemUi |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            systemUi &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }
        decorView.setSystemUiVisibility(systemUi);
    }
}
 
Example 9
/**
 * 设置暗色导航栏按钮
 */
private int setNavigationBarLightFont(int uiFlags) {
    if (canNavigationBarDarkFont() && mBarParams.navigationBarDarkFont) {
        return uiFlags | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
    } else {
        return uiFlags;
    }
}
 
Example 10
public static void setLightNavigationBar(Window window, boolean enable) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        final View decorView = window.getDecorView();
        int flags = decorView.getSystemUiVisibility();
        if (enable) {
            flags |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            flags &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }
        decorView.setSystemUiVisibility(flags);
    }
}
 
Example 11
public void populateAndShow(ItemInfo itemInfo) {
    mOriginalItemInfo = itemInfo;
    ((TextView) findViewById(R.id.title)).setText(getContext().getString(
            R.string.widgets_bottom_sheet_title, mOriginalItemInfo.title));

    onWidgetsBound();

    mWasNavBarLight = (mLauncher.getWindow().getDecorView().getSystemUiVisibility()
            & View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR) != 0;
    mLauncher.getDragLayer().addView(this);
    measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
    setTranslationY(mTranslationYClosed);
    mIsOpen = false;
    open(true);
}
 
Example 12
public static void setLightNavigationBar(Window window, boolean enable) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        final View decorView = window.getDecorView();
        int flags = decorView.getSystemUiVisibility();
        if (enable) {
            flags |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            flags &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }
        decorView.setSystemUiVisibility(flags);
    }
}
 
Example 13
Source Project: ImmersionBar   File: ImmersionBar.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 设置导航栏图标亮色与暗色
 * Sets dark navigation icon.
 */
private int setNavigationIconDark(int uiFlags) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && mBarParams.navigationBarDarkIcon) {
        return uiFlags | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
    } else {
        return uiFlags;
    }
}
 
Example 14
Source Project: dynamic-utils   File: DynamicViewUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Set light navigation bar if we are using light primary color on API 26 and above devices.
 *
 * @param view The view to get the system ui flags.
 * @param light {@code true} to set the light navigation bar.
 */
@TargetApi(Build.VERSION_CODES.O)
public static void setLightNavigationBar(@NonNull View view, boolean light) {
    if (DynamicSdkUtils.is26()) {
        int flags = view.getSystemUiVisibility();
        if (light) {
            flags |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            flags &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }

        view.setSystemUiVisibility(flags);
    }
}
 
Example 15
/**
 * 设置导航栏图标亮色与暗色
 * Sets dark navigation icon.
 */
private int setNavigationIconDark(int uiFlags) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && mBarParams.navigationBarDarkIcon) {
        return uiFlags | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
    } else {
        return uiFlags;
    }
}
 
Example 16
Source Project: AndroidUtilCode   File: BarUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Set the nav bar's light mode.
 *
 * @param window      The window.
 * @param isLightMode True to set nav bar light mode, false otherwise.
 */
public static void setNavBarLightMode(@NonNull final Window window,
                                      final boolean isLightMode) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        View decorView = window.getDecorView();
        int vis = decorView.getSystemUiVisibility();
        if (isLightMode) {
            vis |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            vis &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }
        decorView.setSystemUiVisibility(vis);
    }
}
 
Example 17
Source Project: AndroidUtilCode   File: BarUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Is the nav bar light mode.
 *
 * @param window The window.
 * @return {@code true}: yes<br>{@code false}: no
 */
public static boolean isNavBarLightMode(@NonNull final Window window) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        View decorView = window.getDecorView();
        int vis = decorView.getSystemUiVisibility();
        return (vis & View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR) != 0;
    }
    return false;
}
 
Example 18
Source Project: react-native-navigation   File: Presenter.java    License: MIT License 5 votes vote down vote up
private void setNavigationBarButtonsColor(int color) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        View decorView = activity.getWindow().getDecorView();
        int flags = decorView.getSystemUiVisibility();
        if (isColorLight(color)) {
            flags |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        } else {
            flags &= ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        }
        decorView.setSystemUiVisibility(flags);
    }
}
 
Example 19
Source Project: candybar   File: CandyBarMainActivity.java    License: Apache License 2.0 4 votes vote down vote up
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.setTheme(Preferences.get(this).isDarkTheme() ?
            R.style.AppThemeDark : R.style.AppTheme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ColorHelper.setupStatusBarIconColor(this);
    ColorHelper.setNavigationBarColor(this, ContextCompat.getColor(this,
            Preferences.get(this).isDarkTheme() ?
                    R.color.navigationBarDark : R.color.navigationBar));

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !Preferences.get(this).isDarkTheme()) {
        int flags = 0;
        if (ColorHelper.isLightColor(ContextCompat.getColor(this, R.color.navigationBar)))
            flags = flags | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
        if (ColorHelper.isLightColor(ContextCompat.getColor(this, R.color.colorPrimaryDark)))
            flags = flags | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
        if (flags != 0) {
            this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            this.getWindow().getDecorView().setSystemUiVisibility(flags);
            this.getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark));
        }
    }

    registerBroadcastReceiver();
    startService(new Intent(this, CandyBarService.class));

    //Todo: wait until google fix the issue, then enable wallpaper crop again on API 26+
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        Preferences.get(this).setCropWallpaper(false);
    }

    mConfig = onInit();
    InAppBillingProcessor.get(this).init(mConfig.getLicenseKey());

    mDrawerLayout = findViewById(R.id.drawer_layout);
    mNavigationView = findViewById(R.id.navigation_view);
    Toolbar toolbar = findViewById(R.id.toolbar);
    mToolbarTitle = findViewById(R.id.toolbar_title);

    toolbar.setPopupTheme(Preferences.get(this).isDarkTheme() ?
            R.style.AppThemeDark : R.style.AppTheme);
    toolbar.setTitle("");
    setSupportActionBar(toolbar);

    mFragManager = getSupportFragmentManager();

    initNavigationView(toolbar);
    initNavigationViewHeader();

    mPosition = mLastPosition = 0;
    if (savedInstanceState != null) {
        mPosition = mLastPosition = savedInstanceState.getInt(Extras.EXTRA_POSITION, 0);
        onSearchExpanded(false);
    }

    Bundle bundle = getIntent().getExtras();
    if (bundle != null) {
        int position = bundle.getInt(Extras.EXTRA_POSITION, -1);
        if (position >= 0 && position < 5) {
            mPosition = mLastPosition = position;
        }
    }

    IntentHelper.sAction = IntentHelper.getAction(getIntent());
    if (IntentHelper.sAction == IntentHelper.ACTION_DEFAULT) {
        setFragment(getFragment(mPosition));
    } else {
        setFragment(getActionFragment(IntentHelper.sAction));
    }

    checkWallpapers();
    IconRequestTask.start(this, AsyncTask.THREAD_POOL_EXECUTOR);
    IconsLoaderTask.start(this);

    new PlaystoreCheckHelper(this).run();

    if (Preferences.get(this).isFirstRun() && mConfig.isLicenseCheckerEnabled()) {
        mLicenseHelper = new LicenseHelper(this);
        mLicenseHelper.run(mConfig.getLicenseKey(), mConfig.getRandomString(), new LicenseCallbackHelper(this));
        return;
    }

    if (!Preferences.get(this).isPlaystoreCheckEnabled() && !mConfig.isLicenseCheckerEnabled()) {
        if (Preferences.get(this).isNewVersion()) {
            ChangelogFragment.showChangelog(mFragManager);
            File cache = this.getCacheDir();
            FileHelper.clearDirectory(cache);
        }
    }

    if (mConfig.isLicenseCheckerEnabled() && !Preferences.get(this).isLicensed()) {
        finish();
    }
}
 
Example 20
Source Project: AndroidNavigation   File: AppUtils.java    License: MIT License 4 votes vote down vote up
public static boolean isDarNavigationBarStyle(Window window) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        return (window.getDecorView().getSystemUiVisibility() & View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR) != 0;
    }
    return false;
}