msdx / status-bar-compat

A compatible library for setting status bar color. Support MIUI, Flyme, EMUI3.1. 一行代码调用,布局零入侵。兼容小米,魅族,华为……

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

安卓4.4.4 MIUI7 中显示错误

ayuhani opened this issue · comments

状态栏成功变色,但遮住了一部分toolbar,页面整体向上顶了。
手机是酷派,刷了MIUI系统

@ayuhani 能否POST上你调用的代码?

@msdx StatusBarCompat.setStatusBarColor(this, color, lightStatusBar);只调用了这一行代码。
不过是在BaseActivity的onCreate()中调用的,这样会有影响吗

@ayuhani 是在setContentView之后调用的吗?

@msdx 因为是在BaseActivity写的,所以在子类中都是在setContentView之前调用 ,等下有时间我试试在之后写看看效果

需要在setCententView()调用之后调用,否则你就得自己处理。
你可以重写该方法,在该方法里最后调用。

@msdx 试了一下,在setContentView之后调用确实没有问题了。因为之前高版本的手机是setContentView之前调用也没有遇到问题,所以就没有在意。那现在我是不是要把该方法复制到每一个activity中,有什么简单的方法吗。。

不需要。如果你有BaseActivity的话,重写一下setContentView()方法,在调用super.setContentView()之后调用它。
5.0以下及6.0以下非EMUI3.1都是通过把状态栏设置为透明再添加一个与状态栏同样大小的View以设置颜色来实现的。在Android中当把状态栏设为透明后,布局会顶上去,所以需要对你的布局的最顶层设置setFitsSystemWinwos为true。而我这里在代码中把这个问题一并处理了,所以需要在你设置了布局之后去调用才生效。

@msdx 多谢啦,感觉你这个工具封装的非常 简单易用

谢谢你的认可。