Android中关于沉浸式状态栏的实现
2017-06-08 09:30
183 查看
本文主要是自己实现任务后的一则记录吧,效果实现了,想记下来,需要的朋友可以参考。
一,首先给大家介绍一下什么是沉浸式状态栏(注意:该功能最低兼容API 19的,即Android 4.4(Kitkat))。
通俗的说沉浸式状态栏就是将Android 中Activity的默认的状态栏改变为制定的颜色。
原图:
效果图:
细心的小伙伴一定会发现,效果图中状态栏的颜色变了,这就是是实现了沉浸式状态栏的效果。
二。这里我主要实现了两种类型的Activity的状态栏的改变,一种是Android源生的Activity的状态栏的改变,另外一种是混合开发中使用H5页面的Activity的状态栏的改变
1.首先来看Android源生的Acitivity的状态栏的改变的做法:
1)在android项目的res/values下新建values-v19和values-v21的style.xml,文件的内容分别是:
v19:
v21:
2).做好以上工作后,在所有要改变状态栏的Activity的布局文件中 根 布局中添加:android:fitsSystemWindows="true",如下图所示:
3)开始写bug啦!(写代码)嘻嘻
由于一个项目中可能有很多的Activity需要实现这种效果,因此建议大家将其封装成一个工具类,然后在所需要的Activity中调用就可以了,代码如下:
好,写到这里你的工作基本就完成了,那接下来就是在你的Activity中调用你封装的工具类就搞定了哦
4)调用的代码如下:
这样就轻松搞定沉淀式的状态栏效果了,可是头疼的事情来了,现在都流行混合开发,即Activity的页面是通过H5的页面来加载的,也就是说他并有源生的对应
的布局文件,那上面这招就不好使了,那我们又该怎么办呢?别着急,带您慢慢入坑,(*^__^*) 嘻嘻……
一,对于使用H5页面作为布局的Activity,他没有setContentView(R.layout.XX)这样的方法,那我们同样也有办法来应对他,具体操作请参照以下来完成哦
1)使用SystemBarTintManager来实现,首先在你的项目中要引入SystemBarTintManager,引入方法有两种,第一种去gitHub上下载这
个压缩包,导入到你的工程中,让你的工程依赖libary这个库;
第二种:直接在你的build.gradle中添加这句代码,然后重新build一下项目即可,
2)操作是同样的在res/values/v19即可,代码和android源生的一样
3) 开始在项目中添加代码:
这样就可以轻松搞定混合开发中Activity状态栏的沉淀式状态哦。仅供参考。
一,首先给大家介绍一下什么是沉浸式状态栏(注意:该功能最低兼容API 19的,即Android 4.4(Kitkat))。
通俗的说沉浸式状态栏就是将Android 中Activity的默认的状态栏改变为制定的颜色。
原图:
效果图:
细心的小伙伴一定会发现,效果图中状态栏的颜色变了,这就是是实现了沉浸式状态栏的效果。
二。这里我主要实现了两种类型的Activity的状态栏的改变,一种是Android源生的Activity的状态栏的改变,另外一种是混合开发中使用H5页面的Activity的状态栏的改变
1.首先来看Android源生的Acitivity的状态栏的改变的做法:
1)在android项目的res/values下新建values-v19和values-v21的style.xml,文件的内容分别是:
v19:
v21:
2).做好以上工作后,在所有要改变状态栏的Activity的布局文件中 根 布局中添加:android:fitsSystemWindows="true",如下图所示:
3)开始写bug啦!(写代码)嘻嘻
由于一个项目中可能有很多的Activity需要实现这种效果,因此建议大家将其封装成一个工具类,然后在所需要的Activity中调用就可以了,代码如下:
好,写到这里你的工作基本就完成了,那接下来就是在你的Activity中调用你封装的工具类就搞定了哦
4)调用的代码如下:
这样就轻松搞定沉淀式的状态栏效果了,可是头疼的事情来了,现在都流行混合开发,即Activity的页面是通过H5的页面来加载的,也就是说他并有源生的对应
的布局文件,那上面这招就不好使了,那我们又该怎么办呢?别着急,带您慢慢入坑,(*^__^*) 嘻嘻……
一,对于使用H5页面作为布局的Activity,他没有setContentView(R.layout.XX)这样的方法,那我们同样也有办法来应对他,具体操作请参照以下来完成哦
1)使用SystemBarTintManager来实现,首先在你的项目中要引入SystemBarTintManager,引入方法有两种,第一种去gitHub上下载这
个压缩包,导入到你的工程中,让你的工程依赖libary这个库;
第二种:直接在你的build.gradle中添加这句代码,然后重新build一下项目即可,
2)操作是同样的在res/values/v19即可,代码和android源生的一样
3) 开始在项目中添加代码:
这样就可以轻松搞定混合开发中Activity状态栏的沉淀式状态哦。仅供参考。
相关文章推荐
- (原创)Android 沉浸式状态栏实现(来自FlymeAPI)
- android沉浸式状态栏实现
- Android 状态栏沉浸式的实现
- Android沉浸式状态栏的实现
- Android沉浸式状态栏简单实现
- 关于在安卓4.4上实现沉浸式状态栏
- Android状态栏变色/沉浸式状态栏 4.4及其以上兼容实现
- android沉浸式状态栏实现
- Android 实现沉浸式状态栏的方法
- android沉浸式状态栏实现
- android 4.4以上可以实现的沉浸式状态栏效果
- android沉浸式状态栏的实现
- Android KITKAT 以上实现沉浸式状态栏
- 教程分享:如何实现Android沉浸式状态栏——教你让你的状态栏变个色!
- android 最简单实现沉浸式状态栏
- Android KITKAT 以上实现沉浸式状态栏
- android沉浸式状态栏的实现
- android沉浸式状态栏的实现
- Android沉浸式状态栏实现
- 教程分享:如何实现Android沉浸式状态栏——教你让你的状态栏变个色!