私はURLをロードしているwebviewを持っています。タブレットの向きを変更した場合、ウェブビューの読み込みにURLが再度表示されます。 URLの読み込みを再開しないように、向きを変更したときにwebviewの状態を保持するにはどうすればいいですか?これまでのところ私はこれを試してみた: - あなたのマニフェストファイルでハニカムのオリエンテーションの変更にWebviewを読み込む
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
//Save the state of Webview
wv.saveState(savedInstanceState);
super.onSaveInstanceState(savedInstanceState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore the state of webview
wv.restoreState(savedInstanceState);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.html);
if(savedInstanceState!=null){
// Restore webview state
wv.restoreState(savedInstanceState);
}
WebView wv = (WebView) findViewById(R.id.webView1);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setBuiltInZoomControls(true);
wv.setPadding(0, 0, 0, 0);
wv.setInitialScale(50);
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(true);
_dialog = ProgressDialog.show(HtmlActivity.this, "", "Loading...", true, true);
_dialog.setCancelable(true);
_dialog.show();
wv.loadUrl("http://www.samsung.com");
wv.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(wv, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
//_dialog =ProgressDialog.show(HtmlActivity.this, "", "Please wait...");
super.onPageStarted(wv, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
try{
_dialog.dismiss();
}catch (Exception e) {
// TODO: handle exception
}
// super.onPageFinished(wv, url);
}
});
}
こんにちはパラヴィのために、私は両方のモードのために異なるレイアウトを使用しています。これを有効にすると、android:configChanges = "orientation"はwebview状態を保持しますが、実際にはレイアウトを崩してしまいます。 –
この場合、使用可能なスペースに応じて調整するために、 'RelativeLayout'を使用する必要があります。 – Pallavi
私はすでにそれを使用しています....しかし、webviewの下の画面の下部にあるボタンのサイズは両方の方向によって異なります。私がポートレートモードで自分の活動を開始し、それを風景モードにすると、私にポートレートモードのボタンが表示され、その逆もあります。 –