Android实现沉浸式通知栏通知栏背景颜色跟随app导航栏背景颜色而改变
作者:秋叶为何落
这篇文章主要介绍了Android实现沉浸式通知栏通知栏背景颜色跟随app导航栏背景颜色而改变的相关资料,需要的朋友可以参考下
最近好多app都已经满足了沉浸式通知栏, 所谓沉浸式通知栏:就是把用来导航的各种界面操作空间隐藏在以程序内容为主的情景中,通过相对“隐形”的界面来达到把用户可视范围最大化地用到内容本身上。
而最新安卓4.4系统的通知栏沉浸模式就是在软件打开的时候通知栏和软件顶部颜色融为一体,这样不仅可以使软件和系统本身更加融为一体。 就是手机的通知栏的颜色不再是白色、黑色简单的两种了,本人用的小米4手机,米4手机中的自带软件都支持沉浸式通知栏, 举个例子:大家可以看一下自己的qq,它的标题的背景颜色是蓝色的,那么通知栏也会变成蓝色。之前可能不行,也是最近支持了。
不知道miui6什么时候能统一支持一下。下面给大家说一下怎么让自己的app支持沉浸式通知栏:
github上已经有大牛研究出来了,说一下怎么实现的:
首先下载SystemBarTint,将里面的SystemBarTintManager.java拷贝出来放到自己的项目中, 在actitvity的onCreate()方法中判断并设置通知栏颜色(颜色需要根据软件的titlebar的背景自己定义)
代码一:
代码如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); } SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.statusbar_bg);//通知栏所需颜色
下面是设置通知栏的状态
@TargetApi(19) private 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); }
这样就可以完美实现沉浸式通知栏的。注意系统一定是在4.4以上。小伙伴们赶快来试一下吧。
代码二:
通知栏(notification)背景颜色跟随app导航栏(top title)背景颜色变化而变化。
这也叫沉浸式状态栏,这是Google在android 4.4以上的系统提出的。
样式如图所示:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); }
然后在xml布局文件中加入:
android:clipToPadding="false" android:fitsSystemWindows="true"
您可能感兴趣的文章:
- Android 中使用RadioGroup和Fragment实现底部导航栏的功能
- 性能分析:指如何快速定位SQL问题
- android中Fragment+RadioButton实现底部导航栏
- Android自定义ViewPagerIndicator实现炫酷导航栏指示器(ViewPager+Fragment)
- Android程序开发之Fragment实现底部导航栏实例代码
- Android实现底部导航栏功能(选项卡)
- 超简单的几行代码搞定Android底部导航栏功能
- Android 弹出Dialog时隐藏状态栏和底部导航栏的方法
- Android 沉浸式状态栏与隐藏导航栏实例详解
- android 全屏去掉底部虚拟导航栏的方法
- 解决android 显示内容被底部导航栏遮挡的问题
- Android仿今日头条顶部导航栏效果的实例代码
- Android仿网易客户端顶部导航栏效果
- Android Fragment实现顶部、底部导航栏