App一般都有一个启动界面,称为Splash界面。
一般这个界面都是做成全屏的,即隐藏掉系统状态栏,然后再跳转到主界面。
由于主界面是非全屏的,保留着状态栏,这个过程就发生了从全屏界面切换到非全屏界面。
但是在页面切换过程中,会出现先显示页面内容,然后由于状态栏的出现,整个界面下移一个状态栏高度的问题。
如下图所示:
当前的网易新闻客户端在5.0的设备上也会出现这样的情况,如下图所示:
可以看到很明显的界面下移,特别是这种加了界面滑动切换动画的。
解决方法:
Google之后,找到下面这个链接:
Switching from Full Screen to Non Full Screen Smoothly in Android
然而当在切换之后的activity是继承自AppCompatActivity 或者 ActionBarActivity时是有bug的,ActionBar会上移到状态栏,后来研究了一下,给出我自己的解决方案。
主要的代码如下: