美文网首页
隐藏导航栏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