美文网首页
android沉浸式状态栏的总结

android沉浸式状态栏的总结

作者: 地板流 | 来源:发表于2017-08-28 15:55 被阅读0次

    总结:
    1.从android4.4版本开始可以实现沉浸式状态栏的功能,4.4和5.0以上的效果会有点不一样,所以可以选择使用在view来代替状态栏背景,这样就一致了;
    2.在白色背景的情况下默认状态栏是白色,需要设置状态栏和图标颜色,而在6.0以上则是可以设置状态栏的图标字体的颜色的,然而魅族和小米是有另外自己的字体修改api的,所以这个修改字体深浅需要原生和魅族小米三个一起设置;

    3.在代码中实现上述代码是因为国内有些 rom 如果单纯在 style 文件中设置 windowTranslucentStatus 可能导致设置无效。所以在 Activity 中再次设置一遍 。
    4.单单设置windowTranslucentStatus 只是半透明的效果,有的机型是灰色的半透明,有的则是全透明,单独设置状态栏颜色,可使用以下代码实现沉浸式效果:

    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    //            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                getWindow().setStatusBarColor(Color.TRANSPARENT);// SDK21
    

    5.在5.0以后可以通过设置主题颜色来设置一些app的默认颜色;
    以下是一张主题颜色的图片:


    颜色.png

    相关文章

      网友评论

          本文标题:android沉浸式状态栏的总结

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