Android Webview 内容不应在方向更改时丢失,但 GUI 应正确更新

标签 android webview orientation

我一直在尝试保持 WebView 的加载页面和 javascript 值发生方向变化并暂停 Activity 。 首先,我尝试覆盖 configChanges,但这导致我的 GUI 没有正确更新(我有一个滑动抽屉,可以根据方向改变改变位置)。之后我尝试将 WebView 放入 fragment 中并调用 setRetainInstance(true);但这并不能使 WebView 的内容保持完整。我尝试通过不重新创建相同的对象来保持它的 Activity 状态,但是 android 不允许以这种方式重新使用 View 。

我的问题是:有没有什么方法可以保留 webview 的内容,而不必在每次方向更改时重新加载它,同时让其他 GUI 组件正确更新。

我希望我的问题足够清楚,但如果有任何不清楚的地方,我很乐意详细说明。

编辑:我已经尝试在我的 list 中添加 android:configChanges="keyboardHidden|orientation",这就是我所说的“覆盖配置更改”

似乎唯一的解决方案是在方向更改时再次更新所有 javascript 变量。由于我还没有通过 javascript 运行大量更新,因此我无法提供有关此操作的速度和资源的太多信息。

最佳答案

我知道你已经尝试过了

 android:configChanges="keyboardHidden|orientation"

但试试这个

android:configChanges="keyboardHidden|orientation|screenSize"

在 Android 3.2 及更高版本中,当您旋转时“屏幕尺寸”会发生变化,这会导致 webview 自行重新创建。有关详细信息,请参阅下面的链接答案。

我在这里找到了这个答案 https://stackoverflow.com/a/11903546/655822

关于Android Webview 内容不应在方向更改时丢失,但 GUI 应正确更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9766584/

相关文章:

java - android中读取联系人的两个版本之间的冲突

android - Web View 中未显示进度对话框

android - Webview 仅在第一次加载

ios - 在 ios 6 中强制自动旋转 View

javascript - 强制水平负载

python - 如何在PyQt5中横向打印?

java - Android:SoundPool/录制音频

android - ListView 中的复选框有时不起作用

android - Google Play Developer Console 是否以 UTC 或本地时间显示 APK 上传?

javascript - react native html postMessage 无法到达 WebView