当我从纵向更改为横向时,我的Webview重新加载

Ron*_*sen 17 webview

我有一个简单的WebView在Android上运行Web应用程序.问题是当我旋转手机将其更改为横向webview重新加载并返回到开头时.

我该如何阻止这个动作?

罗恩

小智 49

从Android 3.2(API级别13)开始,当设备在纵向和横向之间切换时,"屏幕尺寸"也会发生变化.因此,如果要在开发API级别13或更高级别(由minSdkVersion和targetSdkVersion属性声明)时由于方向更改而阻止运行时重新启动,则除了"orientation"值之外,还必须包含"screenSize"值.也就是说,你必须decalare

<activity android:configChanges="orientation|screenSize">
Run Code Online (Sandbox Code Playgroud)

这是文档:http://developer.android.com/guide/topics/resources/runtime-changes.html

  • 不知道为什么这还没有被投票!完全解决了这个问题.谢谢! (2认同)

小智 7

这可以通过覆盖onSaveInstanceState(Bundle outState)您的活动并saveState从Webview 调用来解决:

这篇博文可能对您有所帮助.

  • 这似乎是最好的答案。不过,您应该添加所有代码片段。:-) (2认同)

Han*_*Han 6

将以下内容添加到AndroidManifest:

android:configChanges="orientation|keyboard|keyboardHidden"
Run Code Online (Sandbox Code Playgroud)

所以看起来应该是这样的:

<activity android:name=".MyActivity" 
          android:label="@string/app_name" 
          android:configChanges="orientation|keyboard|keyboardHidden">
Run Code Online (Sandbox Code Playgroud)

显然,如果您的WebView需要键盘支持,则不要包含键盘选项.

  • 这不能解决重装问题. (4认同)