美文网首页
隐藏导航栏NavigationBar与透明状态栏设置

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

作者: 失足者 | 来源:发表于2020-10-15 16:57 被阅读0次

    设置状态栏字体颜色

    /**
         * 界面设置状态栏字体颜色
         */
        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需要设置样式主题

     <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
            <item name="windowActionBar">false</item>
            <item name="windowNoTitle">true</item>
            <!--<item name="android:navigationBarColor" tools:targetApi="lollipop">@android:color/transparent</item>-->
            <!--<item name="android:windowBackground">@android:color/black</item>-->
            <!--设置状态栏字体为黑色-->
            <item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
        </style>
    

    这里是大概的设置

    相关文章

      网友评论

          本文标题:隐藏导航栏NavigationBar与透明状态栏设置

          本文链接:https://www.haomeiwen.com/subject/midopktx.html