方案一:
-
界面使用FrameLayout 在顶部底部位置添加和高度SystemBar的高度相等的View
方案二:
-
使用DecorView,它继承于FrameLayout,在DecorView顶部和底部各加一个视图
两者方案的不同:
方案一,颜色条是在Layout里面;方案二,颜色条是在DecorView里面。
两者视图层级不一样,使用方案一需要在每一个Layout文件中添加颜色条。
DecorView:http://blog.youkuaiyun.com/luoshengyang/article/details/8245546
具体代码我就不贴Demo程序了,Github上有开源的工具类采用的方案二,代码请参见:
SystemBarTint https://github.com/jgilfelt/SystemBarTint

本文对比分析了两种实现Android应用中透明SystemBar的设计方案:在Layout内部使用FrameLayout添加View与在DecorView内部操作。详细阐述了两者的不同之处、视图层级差异及实现方式,同时提供了具体的开源工具类示例。
8102

被折叠的 条评论
为什么被折叠?



