前言:Android沉浸式已经出来了很长时间了,之前呢公司没有该方面的需要,所以除了自己的看各种文章进行了了解就也没有在项目中使用,但是前段时间产品有了沉浸式的效果的需要,我就在巨大的坑里煎熬了好几天才爬了出来,所以趁着有时间赶紧整理一下,给路过的人瞧一瞧 ,看一看,见坑还是绕过走最舒服。
友情提示:该文章是按照我的项目的沉浸式的做法写出来的,只考虑5.0以上的版本,4.x的版本没有使用。已经写过沉浸式的大神可以绕路了,没做过沉浸式的猿人们可以上车了。。
先来点题外话:我对沉浸式效果的理解
隐藏status bar(状态栏)使屏幕全屏,让Activity接收所有的(整个屏幕的)触摸事件。
透明化系统状态栏,使得布局侵入系统栏的后面。
效果一句话说就是app全屏化,同时状态栏也需要显示出来。
好了,废话不多说了,下面开始看看我的沉浸式的实现过程吧,抓紧时间上车了
1.状态栏颜色的设置,一般的项目需求是状态栏的颜色显示成自己想要的,比如和标题栏的颜色保持一致
用application的theme主题来设置整个app的状态栏的颜色
请游客注意:主题设置是基于没有系统的actionbar
在values文件夹下
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
</style>
<!-- Customize your theme here. -->
<style name="ZhikeAppTheme" parent="AppTheme.NoActionBar"> <item name="android:windowBackground">#FFFFFF</item></style>
在values-v21文件夹下
<!-- B