【发布时间】:2018-09-24 09:13:16
【问题描述】:
我有一个全屏 Cordova 应用程序,我曾经使用下面的 css 来制作 iPhone X 的刘海,
padding-top: 25px;
padding-top: env(safe-area-inset-top);
Android 将忽略env(safe-area-inset-top),并使用25px 来防止状态栏覆盖我的视图。
事情是这样的,在我的Android Oreo手机(华为mate10)上Android System Webview组件升级到69.0.3497.100版本后,突然发现webview支持env()。
但是当我在 Android Pie 模拟器中安装这个 Cordova 应用程序时(启用了剪切模拟并安装了 Chrome/Webview 69),我发现env(safe-area-inset-top) 是 0px,根本没有填充顶部。
剪切区域/状态栏覆盖了我的网页内容:
Chrome/Webview 69 是否支持safe-area-inset-top?
【问题讨论】:
-
刚刚遇到了同样的行为。找到这个 Chrome 更新日志:androidpolice.com/2018/08/08/…
-
目前看来这是不可能的。甚至离子挣扎:github.com/ionic-team/ionic/issues/17927。我的解决方案是在 Android 上不禁用状态栏覆盖(操作系统会自行添加所需的黑色填充)。
标签: android-9.0-pie display-cutouts