修改小米魅族状态栏颜色
来源:互联网 发布:淘宝ka店 编辑:程序博客网 时间:2024/05/22 15:39
/**
* 修改小米状态栏颜色
* @param activity
* @param darkmode
* @return
*/
public static boolean setMiuiStatusBarDarkMode(Activity activity, boolean darkmode) {
Class<? extends Window> clazz = activity.getWindow().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);
extraFlagField.invoke(activity.getWindow(), darkmode ? darkModeFlag : 0, darkModeFlag);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 修改魅族状态栏颜色
* @param activity
* @param dark
* @return
*/
public static boolean setMeizuStatusBarDarkIcon(Activity activity, boolean dark) {
boolean result = false;
if (activity != null) {
try {
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
Field darkFlag = WindowManager.LayoutParams.class
.getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON");
Field meizuFlags = WindowManager.LayoutParams.class
.getDeclaredField("meizuFlags");
darkFlag.setAccessible(true);
meizuFlags.setAccessible(true);
int bit = darkFlag.getInt(null);
int value = meizuFlags.getInt(lp);
if (dark) {
value |= bit;
} else {
value &= ~bit;
}
meizuFlags.setInt(lp, value);
activity.getWindow().setAttributes(lp);
result = true;
} catch (Exception e) {
}
}
return result;
}
阅读全文
0 0
- 修改小米魅族状态栏颜色
- 修改魅族和小米状态栏的文字颜色
- Android-->沉浸式状态栏字体颜色的修改(只针对小米和魅族)
- Android沉浸式标题栏状态栏字体颜色修改(小米和魅族以及Android6.0)
- android 沉浸式之改变小米魅族状态栏颜色
- 状态栏透明-修改状态栏颜色
- 修改状态栏字体颜色
- IOS8修改状态栏颜色
- 修改全局状态栏颜色
- 状态栏修改颜色
- 修改系统状态栏颜色
- Android状态栏颜色修改
- 修改状态栏颜色
- iOS 修改状态栏颜色
- 修改状态栏字体颜色
- iOS修改状态栏颜色
- 动态修改状态栏颜色
- 修改状态栏的颜色
- 深入剖析Java中的装箱和拆箱
- js 预解析 简单常见情况与个人理解
- 线索二叉树
- GKObstacleGraph
- asp.net中一些数据库语言的小技巧
- 修改小米魅族状态栏颜色
- best-time-to-buy-and-sell-stock-ii
- adlist.h
- Hdu 3507 Print Article【斜率优化Dp入门】
- java.lang.IllegalStateException: The specified child already has a parent. 异常处理
- TP5 limit限制结果数量(指定取多少条数据)
- Ubuntu NFS网络文件系统安装
- 计算器
- 线程池,进程池 concurrent.futures 模块介绍