美文网首页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