美文网首页
android 设置状态栏颜色

android 设置状态栏颜色

作者: 因为我的心 | 来源:发表于2020-05-21 15:02 被阅读0次

    一、前言:

    这里介绍几种设置状态栏颜色的方法。

    fitSystemWindows属性:

    1、简单描述:这个一个boolean值的内部属性,让view可以根据系统窗口(如status bar)来调整自己的布局,如果值为true,就会调整view的paingding属性来给system windows留出空间....

    2、fitsSystemWindow 默认是true,就是组件都在屏幕内,但是不包括statusBar。设置成false后,整个屏幕都可以放置组件,没有statusBar和window之分。

    二、使用:

    1. 隐藏状态栏

    在onCreate方法里面添加页面状态

    //获取屏幕的decorView
    View decorView = getWindow().getDecorView();
    //设置全屏
    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
    

    2. 修改状态栏的背景(一)

    在setContentView();方法 上 方添加代码:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = getWindow();
    //设置修改状态栏
     window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
      //设置状态栏的颜色,和你的app主题或者标题栏颜色设置一致就ok了
       window.setStatusBarColor(getResources().getColor(R.color.umeng_blue));
        }
    

    2. 修改状态栏的背景(二)

    • 1、在setContentView()之前添加:
    if (Build.VERSION.SDK_INT >= 21) {
           View decorView = getWindow().getDecorView();
           //设置全屏和状态栏透明          decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
          // 设置状态栏为灰色
         getWindow().setStatusBarColor(Color.parseColor("#696969"));
      // getWindow().setStatusBarColor(Color.TRANSPARENT);
     }
    
    • 2、在布局文件xml中添加预留任务栏控件
    android:fitsSystemWindows="true"
    

    3. 修改状态栏的背景(三)

    • 1、引入jar包
     //万能插件
    implementation 'com.blankj:utilcodex:1.25.2'
    
    • 2、使用:
    BarUtils.setStatusBarColor(this,Color.parseColor("#4C64AD"));
    
    • 3、在布局文件xml中添加预留任务栏控件
    android:fitsSystemWindows="true"
    

    相关文章

      网友评论

          本文标题:android 设置状态栏颜色

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