旋转设备时,Android WebView不会更改方向

时间:2012-12-06 22:49:47

标签: android webview orientation local assets

我希望在旋转设备时启用方向。通常这会自动发生,但在本地采购的webview中,它不会发生。它以纵向加载,但我希望它根据设备的倾斜方式改变方向。

我在/ assets文件夹中有adjectives.html

// In Activity

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    WebView wv = new WebView(this);
    setContentView(wv);
    wv.getSettings().setBuiltInZoomControls(true);
    wv.loadUrl("file:///android_asset/adjectives.html");

}


// In manifest
    <activity android:name=".WebViewActivity"
              android:configChanges="orientation|keyboardHidden">    
    </activity>  

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果您使用android:configChanges,则系统不会自动为您处理具体更改,您必须自行处理。

要执行此操作,您必须覆盖onConfigurationChanged(Configuration newConfig)并检查newConfig以查看新Configuration的内容。如果更改与方向相关,则您需要设置新的内容视图。

最简单的方法是从orientation删除android:configChanges(除非您有特殊原因)并将WebView放入布局XML文件中并将其用于您的内容查看onCreate(...)。这将允许默认的“自动”处理方向的变化。

答案 1 :(得分:1)

您是否检查过设备上是否启用了旋转功能?