美文网首页Android
Android设置状态栏方法

Android设置状态栏方法

作者: Tenderness4 | 来源:发表于2017-10-24 21:41 被阅读0次
    • 网上关于设置状态栏透明的方法有好多,在xml里面修改就不介绍了,无非就是新建几个对应的style,但需要注意的是从5.x开始需要把颜色设置成透明,即属性android:windowTranslucentStatus=false和android:statusBarColor设置成transparent
    • 下面介绍在代码里面设置

    public static void setStateBarTranslucent(Activity activity) {

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4 全透明状态栏
            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        }
    
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0 全透明实现
           // activity.getWindow().setStatusBarColor(Color.TRANSPARENT);  //直接用这个方法会有兼容性问题
            Window window = activity.getWindow();
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);//这句话一定得加
            window.setStatusBarColor(Color.TRANSPARENT);//calculateStatusColor(Color.WHITE, (int) alphaValue)
        }
    }
    

    相关文章

      网友评论

        本文标题:Android设置状态栏方法

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