MIUI 6 沉浸式状态栏(Android 4.4以上)
来源:互联网 发布:游奇网络加班 编辑:程序博客网 时间:2024/06/05 22:49
MIUI 6 沉浸式状态栏调用方法
看着iOS美腻腻的沉浸,看着MIUI 6 美腻腻的系统App沉浸,看着自己黑不溜秋的状态栏!强迫症的你还能忍受吗?今天,正式启动强迫症患者拯救行动!快来将你的应用也实现完美沉浸吧!
Demo下载:猛戳下载
一、什么是沉浸式状态栏
- 默认情况的状态栏是不透明白色字体的状态栏样式,如下图:
- 目前MIUI 6的完美沉浸已经支持透明白色字体和透明黑色字体
如下图:
二、沉浸式状态栏实现代码
- 第三方应用需要用反射调用,参考代码:
miuiv6只支持4.4及以上版本,调用状态栏透明的方法可以直接用原生的安卓方法 @TargetApi(19) protected void setTranslucentStatus(boolean on) { Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams); }下面是调用状态栏 是否为darkmode。 public void setStatusBarDarkMode(boolean darkmode, Activity activity) { 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(); } }
- 注:
- 沉浸式菜单栏只能在MIUI 6的系统上实现,其他安卓系统没有效果。
- 沉浸式效果对非MIUI系统的兼容性不会有任何影响。
- google的actionbar存在bug,不支持沉浸代码。
Demo下载:猛戳下载
0 0
- MIUI 6 沉浸式状态栏(Android 4.4以上)
- MIUI 6 沉浸式状态栏调用方法
- MIUI 6 沉浸式状态栏调用方法
- MIUI 6 沉浸式状态栏调用方法
- Android之4.4版本以上沉浸式状态栏实现
- android 4.4以上可以实现的沉浸式状态栏效果
- Android 沉浸式状态栏 支持4.4及以上。
- Android KITKAT 以上实现沉浸式状态栏
- Android KITKAT 以上实现沉浸式状态栏
- Android KITKAT 以上实现沉浸式状态栏
- Android KITKAT 以上实现沉浸式状态栏
- Android状态栏变色/沉浸式状态栏 4.4及其以上兼容实现
- Android设置沉浸式状态栏时改变状态栏的颜色(只对MIUI V6可用)
- 4.4以上android沉浸式
- Android沉浸状态栏的实现,支持4.4以上
- Android沉浸状态栏的实现,支持4.4以上
- Android 5.0及以上系统实现沉浸式状态栏
- Android沉浸式状态栏设计(安卓4.4以上才能支持)
- 新浪微博OAuth2.0授权
- HOJ 13383 The Big Painting 二维字符串hash
- C/C++ extern与static关键字
- 周记——20150810
- backbone.js快速入门(二)
- MIUI 6 沉浸式状态栏(Android 4.4以上)
- 华三,思科ACL命令解析
- LeetCode(21)Merge Two Sorted Lists
- 解包Assets.car
- 正则表达式基本语法
- 记一次golang 问题的处理
- 通过运行时添加属性小例
- ulua
- C/C++关键字中的extern 和 static