欢迎使用CSDN-markdown编辑器
来源:互联网 发布:网络征婚骗局 编辑:程序博客网 时间:2024/06/06 07:31
MUI9 状态栏字体颜色修改为黑色
Android6.0以上才提供修改状态栏字体颜色的方法,然而魅族和小米在4.4以上就支持了字体字体颜色的改变,但必须使用它们自己定义的方法。
然而在使用MUI9后,发现小米的以前提供的方法已经无法修改字体颜色了。百度了许久,终于在MUI论坛中发现了适配MUI9的方法。
http://www.miui.com/forum.php?mod=viewthread&tid=8954811&extra=
小米给出的说法是
1.在 Android 6.0 以前,Android 没有方法可以实现「状态栏黑色字符」效果,因此 MIUI 自己做了一个接口;
2.在 Android 6.0 及以上版本,Android 提供了标准的方法实现「状态栏黑色字符」效果,但这个方法和 MIUI 的方法产生了冲突,所以当开发者使用 Android 标准方法时,没有出现预期的效果,这给很多开发者都造成了困扰,尤其是海外开发者。
解决方法:
1、在新的MUI版本,基于Android6.0,开发版7.7.13及以后的版本,使用
Window window = getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
2、在旧的MUI版本,仍然要使用原有的方法
public static boolean MIUISetStatusBarLightMode(Window window, boolean dark) { boolean result = false; if (window != null) { Class clazz = window.getClass(); try { int darkModeFlag = 0; Class layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams"); Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE"); darkModeFlag = field.getInt(layoutParams); Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class); if (dark) { extraFlagField.invoke(window, darkModeFlag, darkModeFlag);//状态栏透明且黑色字体 } else { extraFlagField.invoke(window, 0, darkModeFlag);//清除黑色字体 } result = true; } catch (Exception e) { } } return result; }
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 如何成为一名成功的程序员
- 定时器
- Win10在anaconda集成环境下安装tensorflow
- 程序员的一天
- Matlab中画图函数汇总:plot/set/legend
- 欢迎使用CSDN-markdown编辑器
- vcxzvcx
- 机器学习任务的顶级结果(论文)汇总
- JDBC简介
- vcxzvcxz
- java set集合排序
- @AroundInvoke、@AroundTimeout、@AroundConstruct源码翻译
- HDU5961-搜索|模拟&思维&好题-A
- android eclipse开发碰到的问题