Android中关于沉浸式状态栏的实现
来源:互联网 发布:软件界面设计案例 编辑:程序博客网 时间:2024/05/17 16:57
本文主要是自己实现任务后的一则记录吧,效果实现了,想记下来,需要的朋友可以参考。
一,首先给大家介绍一下什么是沉浸式状态栏(注意:该功能最低兼容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中关于沉浸式状态栏的实现
- 关于android沉浸状态栏的实现方案
- Android 中沉浸式状态栏实现
- android沉浸式状态栏的实现
- Android沉浸式状态栏的实现
- android沉浸式状态栏的实现
- Android 状态栏沉浸式的实现
- Android 沉浸式状态栏的实现
- Android 4.4 沉浸式状态栏的实现
- android 沉浸式状态栏的实现
- Android 沉浸式状态栏的实现
- Android沉浸式状态栏的实现
- Android沉浸式状态栏的初步实现
- Android沉浸式状态栏的简单实现
- android沉浸式状态栏的实现
- Android沉浸式状态栏的简单实现
- android沉浸式状态栏的实现
- Android之沉浸式状态栏的实现
- 月薪两万,头脑灵活,为什么没有女朋友,舞步学院说当代程序员的悲哀
- CentOS7 安装vsftp文件服务器
- Windows安装BeautifulSoup及使用
- [Codeforces 814E] An unavoidable detour for home DP+BFS树+组合数学
- C#源码 任意语言任意大小任意字体任意排列 字符汉字取模及显示 可以自由编辑点阵 通过串口发送 pc端和手机端
- Android中关于沉浸式状态栏的实现
- Android视频开发
- 【MyBatis】映射器(1)
- juniper QFX5100 用业务口做virtual-chassis 实例
- 剑指offer——整数中1出现的次数(从1到n整数中出现1的次数)可优化
- 利用yum下载RPM包不安装
- MAC-安装Visual Studio 2017
- Android高仿QQ及微信底部菜单的多种实现方式【附源码地址】
- 安卓学习(一)——Intent探索