MIUI8安卓沉浸式状态栏栏在哪

沉浸式状态栏、导航栏机型适配
最近把状态栏和导航栏相关的东西整理了一下,目前应用到了项目里面,测试了4.4 5.x 6.x 7.x 8.0的系统,包括oppo vivo
魅族 华为 小米 酷派等机型,都是可以的,也花了点时间,所以在这里记录一下完成后发现界面确实美观很多~~看来没白忙活啊
啊哈哈特点:
1.APP视图嵌入到状态栏
2.底部虚拟导航栏显示隐藏是动态控制视图高度
3.动态设置状态栏文字颜色(适配了魅族、小米及大部分6.0以上系统的手机)注意事项:
1.如需设置4.4-5.0系统的状态栏颜色则需引入第三方库(不需要设置删除对应报错代码即可)com.readystatesoftware.systembartint:systembartint:1.0.3
2.无需在布局中添加android:fitsSystemWindows=""
通过下面的方式设置状态栏或导航栏padding,避免视图重叠view.setPadding(0, 0, 0, ScreenUtil.getNavigationBarHeight());//这里是设置底部导航栏padding,状态栏对应改成获取状态栏高度再设置即可
3.最好不在style中定义类似的属性(我最开始就是通过定义style属性来实现,但发现不能满足需求,比如不能动态更改状态栏文字颜色等等,所以还是在代码里设置好)代码:public class StatusBarActivity extends AppCompatActivity implements ViewTreeObserver.OnGlobalLayoutListener {
private View contentV
//上次的可用高度
private int usableHeightP
private ViewGroup.LayoutParams frameLayoutP
private ViewTreeObserver viewTreeO
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
public void setContentView(View view) {
super.setContentView(view);
public void setContentView(View view, ViewGroup.LayoutParams params) {
super.setContentView(view, params);
private void init() {
//默认设置亮色statusBar,以适用白色主题
setStatusBarModel(true);
//在有虚拟导航栏的手机添加ViewTreeObserver,动态更改视图高度以适应虚拟键盘
if (ScreenUtil.checkDeviceHasNavigationBar(getApplicationContext())) {
contentView = findViewById(android.R.id.content);
if (contentView != null) {
viewTreeObserver = contentView.getViewTreeObserver();
viewTreeObserver.addOnGlobalLayoutListener(this);
frameLayoutParams = contentView.getLayoutParams();
//如果手机有底部导航栏,则腾出导航栏同高度的padding,避免导航栏遮挡布局内容,这个方法不适用于动态隐藏、显示导航栏
if (ScreenUtil.checkDeviceHasNavigationBar(getApplicationContext())) {
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, ScreenUtil.getNavigationBarHeight(getApplicationContext()));
getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, 0);
* 设置状态栏文字及图标颜色
* @param dark true状态栏文字及图标颜色设置为深色,false:白色
Created by ly on
public void setStatusBarModel(boolean dark) {
setTransBar();
if (dark) {
StatusBarLightMode();
StatusBarDarkMode();
private void setTransBar() {
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上
View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.M) {
getWindow().setStatusBarColor(getColor(R.color.transparent));
getWindow().setStatusBarColor(getResources().getColor(R.color.half_transparent));
} else if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.KITKAT) {//4.4到5.0
WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();
localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);
//TODO 这里切换成你对应的全屏activity即可
if (!"SplashActivity".equals(getClass().getSimpleName())
&& !"GuideActivity".equals(getClass().getSimpleName())) {//启动页、引导页等需要全屏的页面不添加半透明遮罩
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setNavigationBarTintEnabled(false);
tintManager.setStatusBarTintResource(R.color.status_half_transparent);//为状态栏添加半透明遮罩,避免里面的文字被覆盖
private void StatusBarLightMode() {
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.KITKAT) {
if (MIUISetStatusBarMode(true)) {
result = 1;
} else if (FlymeSetStatusBarMode(true)) {
result = 2;
} else if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.M) {
//android6.0以后对状态栏文字颜色和图标改为暗色
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
result = 3;
* 状态栏暗色模式,清除MIUI、flyme或6.0以上版本状态栏黑色文字、图标
private void StatusBarDarkMode() {
if (result == 1) {
MIUISetStatusBarMode(false);
} else if (result == 2) {
FlymeSetStatusBarMode(false);
} else if (result == 3) {
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.JELLY_BEAN) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
* 设置状态栏图标为深色和魅族特定的文字风格
* 可以用来判断是否为Flyme用户
* 详情:https://www.jianshu.com/p/7f5a9969be53
* @param window 需要设置的窗口
* @param dark
是否把状态栏文字及图标颜色设置为深色
* @return boolean 成功执行返回true
private boolean FlymeSetStatusBarMode(boolean dark) {
boolean result =
WindowManager.LayoutParams lp = 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 &= ~
meizuFlags.setInt(lp, value);
getWindow().setAttributes(lp);
setStatusBarModel4M(dark);
} catch (Exception e) {
* 需要MIUIV6以上
* 详情:https://www.jianshu.com/p/7f5a9969be53
* @param activity
* @param dark
是否把状态栏文字及图标颜色设置为深色
* @return boolean 成功执行返回true
private boolean MIUISetStatusBarMode(boolean dark) {
boolean result =
Class clazz = getWindow().getClass();
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(getWindow(), darkModeFlag, darkModeFlag);//状态栏透明且黑色字体
extraFlagField.invoke(getWindow(), 0, darkModeFlag);//清除黑色字体
setStatusBarModel4M(dark);
} catch (Exception e) {
private void setStatusBarModel4M(boolean dark) {
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.M) {
//开发版 7.7.13 及以后版本采用了系统API,旧方法无效但不会报错,所以两个方式都要加上
if (dark) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
public void onGlobalLayout() {
Rect r = new Rect();
contentView.getWindowVisibleDisplayFrame(r);
int usableHeightNow = r.
//TODO 注意这个比例是华为mate10的比例,一般超出该值就代表不是导航栏显隐了(有可能是键盘等等..)
boolean isNavBarChange = usableHeightNow / (float) (ScreenUtil.getScreenHeight()) &= 1808 / 1920f;
Logger.i("onGlobalLayout usableHeightNow:" + usableHeightNow + " isNavBarChange:" + isNavBarChange);
//当前可用高度和上次的不相等并且是导航栏展开/隐藏 则调整视图高度
if (usableHeightNow != usableHeightPrevious && isNavBarChange) {
frameLayoutParams.height = usableHeightN
contentView.requestLayout();
usableHeightPrevious = usableHeightN
protected void onDestroy() {
super.onDestroy();
if (viewTreeObserver != null) {
if (viewTreeObserver.isAlive())
if (Build.VERSION.SDK_INT &= Build.VERSION_CODES.JELLY_BEAN) {
viewTreeObserver.removeOnGlobalLayoutListener(this);
viewTreeObserver.removeGlobalOnLayoutListener(this);
viewTreeObserver =
contentView =
frameLayoutParams =
}用你的baseActivity继承这个就可以用啦尽情玩耍吧~~~如果有什么疑问或有更好的实现方式,欢迎留言给我ps:参考了这位同学的实现,感谢~~
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!当前位置: >
> 沉浸式状态栏
沉浸式状态栏
手机上的那些沉浸式状态栏,大家安装了多少,让手机的界面变的更好看,在此专区中,嗨客小编带领答案及盘点精美沉浸式状态栏应用,严控们不要错过了哟,本专区中为大家提供相关应用的下载及使用操作说明!
扫描立即进入手机端
30MB内容简介:[B]腾讯地图导航下载2016手机版[/B]是一款由腾讯公司开发的手机丢导航应用,为您提供便捷的手机导航服务,还有真人语音播报,给您开车的旅程带来更多的便捷,需要的亲们赶...
墨迹天气2018
15MB内容简介:
[B]墨迹天气2018去广告版[/B]为亲们带来了墨迹天气的最新的版本下载哦!为您带来最可靠的天气播报哦!亲们赶紧来这里下载吧!给您带去更多便利!
别碰我老婆手机壁纸制作软件
23MB内容简介:[B]别碰我老婆手机系列壁纸制作软件app下载手机版[/B]是一款可以制作别碰我老婆主题锁屏壁纸的手机软件,相信很多朋友对最近朋友圈或是微博刷爆的明星锁屏壁纸很感兴趣,下...
腾讯地图导航2018最新版
31MB内容简介:
[B]腾讯地图导航下载2018最新手机版下载安装[/B]是由腾讯官方推出的一款互联网地图导航服务app,这款软件独家提供6大城市全城高清街景,需要的用户欢迎下载!
...
别碰我老婆手机壁纸
23MB内容简介:[B]别碰我老婆手机壁纸生成器素材软件制作下载[/B]是一款可以自由制作喜欢的明星壁纸软件,这里素材特别丰富,轻松制作别碰我老婆类型,想要什么自己制作不求人哦!
宋仲基主题壁纸
9MB内容简介:[B]宋仲基主题壁纸app下载手机版[/B]是一款专门为喜欢宋仲基的亲们打造的手机应用,这里有很多宋仲基哦巴的壁纸哦!让您的手机主题壁纸更加萌萌哒,喜欢的亲们不妨下载来试...
时尚美女动态壁纸
1MB内容简介:触摸美女动态壁纸app是一款壁纸类的手机app软件,它体积非常小不会占用你的太多内存,就算机型比较低配,同样完美运行,这里有各种各样的动态美女图片,火辣辣的,娇滴滴的应用...
氢壁纸视频桌面
5MB内容简介:[B]氢壁纸视频桌面手机app[/B]一款很不错的动态视频桌面壁纸,用户使用软件桌面能够达到桌面播放视频的效果,和最近在STEAM的桌面动态壁纸有异曲同工之妙,并且此款软...
87MB内容简介:[B]灵梦动态壁纸图片app[/B]是根据近期爆火的一段灵梦视频制作而成的一款手机端动态壁纸,设置简单,只需一键就能让灵梦出现在你的桌面上;需要的小伙伴们快来下载设置吧!...
腾讯地图2017官方最新版
30MB内容简介:
腾讯地图2017官方最新版是一款功能强大的手机地图导航软件。平台可以为你提供全国各地的高清街景图,还会贴心的为你播报前方的详细路况,同时还可以为你定位许多电子眼,让...
3D高清地球旋转动态壁纸
13MB内容简介:[B]3D高清地球旋转动态壁纸图片app官网版[/B]是一款十分有趣的3D动态壁纸,让你每时每刻看到的地球都是不一样的美丽风光。小伙伴们快来下载吧,感受蓝星的无限美丽!
...
墨迹天气2015安装
15MB内容简介:墨迹天气2015安装是一款实用的手机天气软件。有了它,你可以查看最近一周的天气状况,为你出行最好准备,同时它可以查看的城市天气覆盖全国,24小时温差提醒你,还有许多桌面小...经验788 米
在线时间22 小时
版本V8.5.6.0.MAGCNED
积分 870, 距离下一级还需 1130 积分
积分 870, 距离下一级还需 1130 积分
机型小米手机5s
签到次数24
MIUI版本V8.5.6.0.MAGCNED
本帖最后由 abgku 于
15:15 编辑
先上效果图
IMG_932.jpg (100.43 KB, 下载次数: 0)
因为我的5s没有刷开发版,用不了框架,所以微信的状态栏一直让我很不爽
今天借助各种网上的资料, 终于搞定了,特分享给大家,希望能帮到和我一样有强迫症的家伙们^_^
注:以下所有的内容基于微信版本 6.5.16
首先下载 MT管理器 和 微信官方最新安装包6.5.16(请自行搜索下载地址)
使用 MT 管理器打开微信的安装包,我们会看到如下文件 / 文件夹
15-13-29-58_300_300.jpg (8.32 KB, 下载次数: 0)
点击resources.arsc 这个文件,选择反编译打开它
然后点击最后一行 com.tencent.mm 里的内容
然后再点击 7F0F color
这时候会出现一个颜色的列表
下拉找到FF393A3F,点击,选择编辑,修改为FF303135
修改完,点确定
之后就是保存一下,(点退出会提示是否保存,或者右上角点击出现保存字样)
然后在MT管理器里点击一下微信的安装包,出现菜单后,选择功能,APK签名,等个几秒签名成功,会重新生成一个安装包,点击安装就大功告成了,安装前,要先卸载以前的微信。
整个过程,不需要root,很安全,可以放心使用,已经亲测。
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验4267 米
在线时间380 小时
机型小米手机6
签到次数73
MIUI版本8.7.2
然后呢& && && && && &?
经验788 米
在线时间22 小时
版本V8.5.6.0.MAGCNED
积分 870, 距离下一级还需 1130 积分
积分 870, 距离下一级还需 1130 积分
机型小米手机5s
签到次数24
MIUI版本V8.5.6.0.MAGCNED
然后呢& && && && && &?
已经上图,还有详细步骤
经验6188 米
在线时间63 小时
版本8.4.28
机型未知设备
签到次数474
MIUI版本8.4.28
经验4267 米
在线时间380 小时
机型小米手机6
签到次数73
MIUI版本8.7.2
已经上图,还有详细步骤
谢谢& && && && && && &
经验788 米
在线时间22 小时
版本V8.5.6.0.MAGCNED
积分 870, 距离下一级还需 1130 积分
积分 870, 距离下一级还需 1130 积分
机型小米手机5s
签到次数24
MIUI版本V8.5.6.0.MAGCNED
十里春风不如你
经验6966 米
在线时间60 小时
版本8.4.26
机型未知设备
签到次数87
MIUI版本8.4.26
因为我的5s没有刷开发版,用不了框架,所以微信的状态栏一直让我很不爽
今天借助各种网上的资料, 终于搞定 ...
这个真的很棒
经验1245 米
在线时间45 小时
版本V9.5.18.0.ODGCNFA
机型未知设备
签到次数21
MIUI版本V9.5.18.0.ODGCNFA
来啊啊啊啊啊啊啊啊吧
经验4277 米
在线时间40 小时
机型未知设备
签到次数414
MIUI版本8.7.2
经验1644 米
在线时间18 小时
机型未知设备
签到次数29
MIUI版本8.3.1
.......................
MIUI七周年
MIUI 9纪念勋章
已关注极客秀微信
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 10专属勋章
参加回帖活动
MIUI3亿用户纪念勋章
参与回帖活动
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号MIUI V6沉浸式状态栏是什么 强制xposed沉浸状态栏开启教程
来源:安软市场
  沉浸式状态栏的定义昨天小编已经给大家做了一个比较粗略的解释(),相比不少同学也已经明白了沉浸状态栏的好处。比起MIUI V6和一些自带状态栏沉浸的ROM来说,没有沉浸状态栏的系统好像就看起来比较杯具了。为了让所有同学都能够像MIUI V6一样体验到沉浸状态栏的好处,小编在这里就给大家介绍一种通用的xposed沉浸状态栏开启教程。不论是官方还是第三方应用都可以自动沉浸哟。
  这边还是先给大家普及个小知识。MIUI V6的状态栏沉浸仅仅是针对了本身自带的应用,对于第三方应用还是不兼容的。所以不论是MIUI V6还是非自带沉浸模式的ROM都可以通过xposed沉浸状态栏方法来达到对应效果。当然,今天我们这里还是以MIUI V6系统为例。
  MIUI V6沉浸状态栏App的使用教程:
  1、安装(MIUI V6需要安装)
  2、安装(MIUI V6则需要安装MIUI专用的沉浸插件)
  下载到手机之后安装到自己的手机上。过程此处就省略掉好啦。相信还没有不会弄的同学。
  3、使Xposed获得ROOT权限;
  注意:前提是必须是手机能够获取Root权限,具体因为机型差异可以通过玩机专区来查找相关教程。
  (1)打开Xposed,(看到&框架&选项有红色提示字体)。
  (2)然后点进框架选项,看到一个提示&小心&,打个勾,点确定。
  (3)点击&安装/更新&选项,看到&Xposed Installer已被禁用Root权限,如有需要,可在权限管理中添加&的提示。
  (4)然后退出回到桌面,进入&安全中心&&&进入右下角&授权管理&&&点选Xposed那一栏的开关,通过五个5秒钟的关卡(点选&下一步&),即可完成Root的全过程。
  4、在Xposed上选择MIUI 6沉浸状态栏App,在桌面上点击Xposed图标,回到Xposed主界面,然后选择&模块&选项,选择&MIUI6沉浸状态栏&如图:
  5、在&框架&选项里点击选&安装/更新&,再让他重启
  这一步也很简单,回到Xposed主界面,在&框架&选项上选择&更新/安装&,再在弹出窗口里选择&确定&即可,等待重启二十几秒即可。此时,你可以尝试打开你的QQ、你的微信、你的微博、你的所有软件,你会发现,奇迹诞生了!
  另外你还可以在MIUI6沉浸状态栏那个app设置一些东西,诸如&强制变色&什么的,就是说不是纯色的背景,也会给你搭配一个较为合适颜色过去,因为这个MIUI6沉浸状态栏软件对不是纯色的背景而言,是无法判断并分配固定颜色的状态栏颜色给你的,所以这个要看个人喜好而选择。看你是喜欢上边那个还是下边那个咯。
  小米自带沉浸和app强制沉浸的异同:
  不同的地方是:系统自带沉浸是与画面同时切换出来,而App造成的沉浸是先在打开软件时呼出沉浸,再切换画面;相同的是,他们造成了长期相对完美的沉浸。左右两边的GIF,相信你能看得出来~也相信你能明白任何看上去完美的东西都有一定的缺陷。
小编点评:
  大家有没有发现xposed沉浸状态栏的效果非常的好呢?而且切换的时候也不会显得不自然,很和谐的与背景色融为了一体。其实大家也应该发现了,在xposed安装器中还有很多其他的模块可以安装。这个大家可以先自己琢磨着玩一下,小编以后会专门针对xposed插件给大家做一个爱心满满的大合集。
2018 / 07 / 03
2018 / 07 / 03
2018 / 07 / 03
2018 / 07 / 03
2018 / 07 / 03
2018 / 07 / 03
手机客户端
微信公众号
人已预约此应用
关注"安软市场"微信公众号
玩最新好玩的手机游戏miui7 小米6.0怎么沉浸式状态栏_百度知道
miui7 小米6.0怎么沉浸式状态栏
我有更好的答案
  MIUI6沉浸状态栏App的使用,安装Xposed框架和沉浸式状态栏;Xposed框架: Xposed Installer.apk,MIUI6沉浸式状态栏: MIUI6沉浸状态栏.apk 。下载这两款软件到手机之后安装到你的小米手机上。  使Xposed软件获得ROOT权限;开发版/特别版的童鞋还有已经获得了ROOT权限的童鞋也可以参照下方指示  (1)打开Xposed 软件,(看到“框架”选项有红色提示字体)  (2)然后点进框架选项,看到一个提示“小心”,打个勾,点确定  (3)点击“安装/更新”选项,看到“Xposed Installer已被禁用Root权限,如有需要,可在权限管理中添加”的提示。  然后退出回到桌面,进入“安全中心”→进入右下角“授权管理”→点选Xposed那一栏的开关,通过五个5秒钟的关卡(点选“下一步”),即可完成Root的全过程。  在Xposed上选择MIUI 6沉浸状态栏App,在桌面上点击Xposed图标,回到Xposed主界面,然后选择“模块”选项,选择“MIUI6沉浸状态栏”如图  在“框架”选项里下面点击选“安装/更新”,再让手机重启。这一步也很简单,回到Xposed主界面,在“框架”选项上选择“更新/安装”,再在弹出窗口里选择“确定”即可,等待重启二十几秒即可。  6  手机重起之后,你可以尝试打开你的QQ、你的微信、你的微博、你的所有软件,你会发现,奇迹诞生了!!完美主义者是不是大爱这个app呢
采纳率:87%
为您推荐:
其他类似问题
您可能关注的内容
状态栏的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 安卓8.1沉浸式状态栏 的文章

 

随机推荐