只有大于等于4.4版本支持这个半透明状态栏的效果,但是4.4和5.0的显示效果有一定的差异。
思路:使我们的布局填充在状态栏上,也就是我们可以用到状态栏的区域了;为了适配不同的手机屏幕,动态的获取状态栏的高度,创建和状态栏一样的高度,添加到布局中,这样我们也可以动态的设置View的颜色,达到我们想要的效果;同事在根View设置android:fitsSystemWindows这个属性,主要是通过调整当前设置这个属性的view的padding去为我们的status_bar留下空间。
第一步:在AppTheme里添加windowTGranslucentStatus属性,
这个属性是v19开始引入的;去掉状态栏的填充,使我们的布局顶上去。
第二步:设置和状态栏一样高度的View,并添加到根布局中。注意:改view设置在BaseActivity中的布局中,具体交互的布局加入在了BaseActivity的布局中。
第三步:根View设置android:fitsSystemWindows这个属性为ture,主要是通过调整当前设置这个属性的view的padding去为我们的status_bar留下空间。使自己的view可以占用状态栏的地方(在子布局中的根布局中设置)。
tips:如果你的界面的根布局是DrawerLayout,必须在布局中设置fitsSystemWindows=ture,在代码中设置无效。