问题: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的内容是占满整个屏幕的,但顶部有部分区域内容是被状态栏覆盖的。

在Android应用中,从全屏界面切换到正常界面时常遇到状态栏覆盖页面内容的问题。为解决此问题,可以在全屏界面跳转前通过代码调整窗口属性:移除FLAG_FULLSCREEN标志并清除FLAG_LAYOUT_NO_LIMITS标志。此外,对于Android 5.0以上版本,若状态栏背景颜色不符合预期,可在页面样式中调整。了解不同全屏模式的区别,有助于更好地处理界面显示问题。
5665

被折叠的 条评论
为什么被折叠?



