问题:1:
从一个全屏界面跳转到正常的界面时,顶部会被状态栏覆盖住,会延迟1秒恢复正常。
解决方案:
在页面进行跳转之前(也就是在全屏的界面),加上以下代码:
/**解决进入首页时 上部分显示半个问题*/
WindowManager.LayoutParams attr = getWindow().getAttributes();
attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setAttributes(attr);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
Intent intent.setClass(this, MainActivity.class);
startActivity(intent);
finish();
问题2:
在anroid 5x及以上 在页面跳转时会出现 状态栏的背景颜色是系统默认的浅灰色
在页面设置样式里增加:
<item name="android:windowTranslucentStatus">false</item>
<item name="android:statusBarColor">@android:color/transparent</item>
解析:两种全屏flage的区别:
(1)不设置
Activity窗口不全屏,状态栏显示。
(2)getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Activity窗口全屏,状态栏不显示。
(3)getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
Activity窗口全屏,且状态栏显示。与不设置的区别是Activity的内容是占满整个屏幕的,但顶部有部分区域内容是被状态栏覆盖的。