Android使用反射修改状态栏的颜色

原创 2018年04月17日 13:56:43
    public static void setWhiteStatusBar(Activity activity) {
        try {
            Class<?> c = Class.forName("android.view.View");
            Field field = c.getField("SYSTEM_UI_FLAG_LIGHT_STATUS_BAR");//正常现实上方状态栏
            int property = (Integer) field.get(c);//返回field中在c中的值,即SYSTEM_UI_FLAG_LIGHT_STATUS_BAR的指
            activity.getWindow().getDecorView().setSystemUiVisibility(property);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
                activity.getWindow().setNavigationBarColor(0xfff0f0f0);
                View decorView = activity.getWindow().getDecorView();
                int lightFlag = Build.VERSION.SDK_INT == Build.VERSION_CODES.N_MR1 ? 0x4000 : 0x10;
                decorView.setSystemUiVisibility(decorView.getSystemUiVisibility() | lightFlag);
                try {
                    Method method = activity.getWindow().getClass().getMethod("setNavigationDividerEnable", new Class[] {boolean.class});
                    method.invoke(activity.getWindow(), new Object[]{true});
                } catch (Exception e) {
                }
            }
        } catch (Exception e) {
        }
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kururunga/article/details/79973885

Android 快速开发 第三方SDK 百度地图SDK使用(一)

-
  • 1970年01月01日 08:00

Android修改状态栏的背景颜色

一,概述 我相信很多初入Android开发的开发者都为自己开发的app的状态栏烦恼过,状态栏和自己的界面风格格格不入,但是不知道如何修改这个状态栏的颜色,感觉无从下手.我最近就是被这个状态的默认风格...
  • bighuan
  • bighuan
  • 2017-03-22 11:25:11
  • 3102

android修改状态栏背景色及文字图标颜色

实现的效果:状态栏背景颜色修改为白色,图标的颜色由原来的白色修改为淡黑色。效果图:修改状态栏背景为白色android系统5.0之前是不可修改状态栏的背景色的,为了兼容之前的版本,需要创建三个资源文件由...
  • yuerliang
  • yuerliang
  • 2018-01-09 10:54:29
  • 968

android沉浸式状态栏、变色状态栏、透明状态栏、修改状态栏颜色及透明

首先我要区分清楚沉浸式状态栏与变色状态栏。沉浸式状态栏指的是,状态栏隐藏,在手指做了相关操作后,状态栏显示出来,例如视频播放器,在播放视频时是隐藏状态栏的,但是点击屏幕的时候,状态栏会显示出来,再例如...
  • u011835956
  • u011835956
  • 2016-03-28 14:09:24
  • 26151

android开发,修改状态栏字体颜色?

原文链接:http://www.zhihu.com/question/31994153 作者:赵晨 链接:http://www.zhihu.com/question/31994153/answ...
  • u014702999
  • u014702999
  • 2016-08-25 21:05:16
  • 4809

Android学习第八弹之改变状态栏的颜色使其与APP风格一体化

公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原文”,可查看更多内容和干货 导语:沉浸式状态栏,改变状态栏的颜色使之与APP风格一体化是不是感觉很漂亮,很美?...
  • loongggdroid
  • loongggdroid
  • 2015-08-11 11:04:01
  • 57354

Android 修改状态栏字体颜色

针对Android6.0+,MIUI6+,Flyme4+可以修改状态栏字体颜色: 1.对于android6.0,但是小米魅族不适配(见2,3) //设置成白色的背景,字体颜色为黑色。 ...
  • zhangyiminsunshine
  • zhangyiminsunshine
  • 2017-03-29 14:37:24
  • 6319

android 隐藏状态栏和修改状态栏的背景颜色(沉浸式状态栏)

做应用有时候我们需要界面是全屏显示的,也就是没有状态栏的,或者说修改状态栏的背景颜色,让整个屏幕的风格和界面保持一致的(沉浸式?),几行代码轻松搞定! 1、隐藏状态栏 在onCreate方法里面添...
  • baidu_33267166
  • baidu_33267166
  • 2017-07-06 18:09:12
  • 451

android标题栏、状态栏图标文字颜色及背景动态变化

android中沉浸式状态栏的文章已经满大街了,可是在实现某些效果时,还是得各种搜索,测试一通后,最后还常常满足不了要求,即使好不容易在一部手机上满足了需求,放在另外一手机上,发现效果差强人意。今天把...
  • smileiam
  • smileiam
  • 2017-06-22 14:22:30
  • 14797

Android App 改变状态栏颜色

//修改状态栏字体颜色 public static void setStatusBarLightMode(Activity activity) { if (Build.VERSION.SDK_...
  • EUEHEUEN
  • EUEHEUEN
  • 2017-10-13 14:02:18
  • 336
收藏助手
不良信息举报
您举报文章:Android使用反射修改状态栏的颜色
举报原因:
原因补充:

(最多只允许输入30个字)