我正在使用此代码来显示Flash视频,我的问题是当我从垂直位置转到水平位置时,应用程序重新加载并重置视频。我怎么能避免这种情况。请建议
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.internalwebview);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setInitialScale(ZOOM_LEVEL);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.loadUrl(url);
}
答案 0 :(得分:2)
将android:screenOrientation =“portrait”添加到AndroidManifest.xml中的活动。例如:
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
这将禁用自动定位更改,否则您将不得不自己处理更改
答案 1 :(得分:2)
如果您还没有,可以通过在活动中添加对onSaveInstanceState()
的引用来尝试在方向更改时保存WebView的状态:
protected void onSaveInstanceState(Bundle outState) {
mWebView.saveState(outState);
}
然后在onCreate()
方法中重新设置,如下所示:
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.internalwebview);
if (savedInstanceState != null)
((WebView)findViewById(R.id.webview)).restoreState(savedInstanceState);
}
虽然我不太确定它是否适用于嵌入式Flash视频。 有关详细信息,请参阅this thread或Android SDK reference
答案 2 :(得分:0)
谢谢,我自己找到了答案。
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.loadUrl(url);
和AndroidManifest.xml
<android:label="@string/app_name" android:configChanges="keyboardHidden|orientation" android:theme="@android:style/Theme.NoTitleBar">