Android沉浸式之一步到位(fragment 的坑之解法)

本文详细介绍了Android 5.0及以上版本的沉浸式效果实现,包括状态栏颜色设置、图片沉浸式效果以及Fragment中遇到的问题和解决方案。在Fragment中设置沉浸式效果时需避免使用fitsSystemWindows属性,以免造成沉浸式失效,建议根据需要动态设定顶部布局的高度和距顶距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言: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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值