在android开发中,大家一定受到过不少StatusBar通顶问题的困扰。由于Android没有在xml布局构造器中提供类似ios开发中safearea一类的辅助线,而且android碎片化过于严重。导致没有办法一劳永逸的解决StatusBar的通顶问题(本篇博客其实也并没有在为4.4提供解决方案,4.4的通顶问题可以参考其他博客)。
在针对通顶问题进行一段时间的研究后,发现其实官方有对通顶给出过解决方案,只是没有给出的那么直接。本篇文章提供的方案很简单,并不需要去动态反射获取StatusBar高度。也不需要从Theme里面拿StatusBar字段,更不需要创建一个透明的view。只需要依靠fitsystemwindow就可以解决大部分新手机上的通顶问题,原理其实很简单,但是没有看到网上提出对应的解决方案。就把方案方上来了。
废话不多说,看效果:
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="false"
android:layout_width="match_parent"