隐藏导航栏NavigationBar与透明状态栏设置

设置状态栏字体颜色

/**
     * 界面设置状态栏字体颜色
     */
    public void changeStatusBarTextColor(boolean isBlack) {
        if (isBlack) {
            //设置状态栏黑色字体
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
        } else {
            //恢复状态栏白色字体
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
        }
    }

隐藏底部导航栏和横条

        BarUtils.transparentStatusBar(activity);//设置状态栏透明
        View decorView = activity.getWindow().getDecorView();
        decorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY //(修改这个选项,可以设置不同模式)
                        //使用下面三个参数,可以使内容显示在system bar的下面,防止system bar显示或
                        //隐藏时,Activity的大小被resize。
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR//设置状态栏字体颜色:黑色
                        // 隐藏导航栏和状态栏
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

BarUtils
同时也可以使用工具类BarUtils

/*BarUtils.transparentStatusBar(activity);
        //BarUtils.transparentStatusBar(activity.getWindow());
        //BarUtils.setNavBarColor(activity, R.color.zxing_transparent);
        //BarUtils.setNavBarColor(activity.getWindow(),android.R.color.transparent);
        //BarUtils.setNavBarColor(activity,activity.getResources().getColor(android.R.color.transparent));
        BarUtils.setNavBarVisibility(activity,false);
        BarUtils.setNavBarVisibility(activity.getWindow(),false);*/

application的manifest需要设置样式主题

 
    

这里是大概的设置

你可能感兴趣的:(隐藏导航栏NavigationBar与透明状态栏设置)