fragment中处理沉浸式状态栏总结

效果图如下

背景

  1. 在项目中需要实现这样的功能:轮播图的内容与融合到状态栏中。这个需求在Activity中实现起很简单,但是在项目中使用viewpager+fragment的组合界面,处理不同的fragment中显示不同的状态栏还是有点难度。

处理思路

1.将状态栏颜色设为透明, 利用系统提供的这个android:fitsSystemWindows="true",添加该属性到View中;该属性网上有很多人都写过了。不懂的同学可以自行百度。
2.在设置了该属性的View的高度需要写死,大概在60-70dp左右(我在项目中将状态栏固定为20dp,剩下尺寸就是你自己的控件了)
3.调整View的相对位置

具体实现代码

  1. 将状态栏透明

window.setFlags(
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

  1. 需要注意的事情:千万不要在MainActivity中添加android:fitsSystemWindows属性,否则会出现空白一块的情况,需要在fragment的布局文件中添加该属性
  1. 自定义的top_bar,固定宽高和计入属性
  1. 最终效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言在使用App的过程中,如果细心观察,我们会发现,某些应用顶部菜单栏颜色会延伸到系统状态栏中,使得菜单栏和状态栏...
    heyzhuyue阅读 4,436评论 0 1
  • 前言 原文:http://blog.csdn.net/mybeta/article/details/5076032...
    naturs阅读 23,239评论 8 70
  • 前言 首先请大家看几张图: 以上的效果,一般我们统称为沉浸式状态栏。其实,这种叫法不是很准确,而且也没有沉浸式状态...
    宇是我阅读 9,520评论 2 28
  • 转载若兰明月 沉浸式状态栏 Google从android kitkat(Android 4.4)开始,给我们开发者...
    天天大保建阅读 4,090评论 0 1
  • 何谓沉浸式状态栏## 说白了,沉浸式状态栏本质上就是给系统状态栏着色。当这个颜色和我们Activity中的Tool...
    chandarlee阅读 15,823评论 2 54

友情链接更多精彩内容