我一直在尝试保持 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/