这篇文章给大家介绍Android 开发中怎么改变沉浸式状态栏的颜色,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
这个是基于SystemBarTintManager更改的
增加一个方法:用于更改MIUIV6系统上的状态栏字体颜色 ,目前我仅仅只发现MIUIV6上可以更改,在android5.0上以及其它4.4以上系统没有发现可以更改字体颜色的代码
核心代码:
public void setStatusBarDarkMode(boolean darkmode, Activity activity) { if (sIsMiuiV6) { 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); } catch (Exception e) { e.printStackTrace(); } } }