美文网首页
fragment中处理沉浸式状态栏总结

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

作者: 三少爷的码 | 来源:发表于2016-12-27 19:13 被阅读14314次

    效果图如下

    背景

    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. 最终效果

    相关文章

      网友评论

          本文标题:fragment中处理沉浸式状态栏总结

          本文链接:https://www.haomeiwen.com/subject/zceevttx.html