问题:

在页面切换过程中,会出现先显示页面内容,然后由于状态栏的出现,整个界面下移一个状态栏高度的问题。造成整个页面闪一下,下沉一下的感觉,非常不爽的体验。

解决:

1.在全屏的activity finish之前手动退出全屏

window.setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN)

finish()

另外,要记得实现物理返回键的回调,需要在onBackPressed()回调函数中,退出全屏

override fun onBackPressed() {

window.setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN)

super.onBackPressed()

}

2.理想的解决方案:

this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

去除全屏的标记,温和方法。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐