Я делаю приложение для Android, и если я нахожусь в самом верху моего WebView и пытаюсь переключить свой телефон в альбомный режим, то он не будет изменять размер веб-страницы, чтобы соответствовать экрану моего телефона.Это займет только половину экрана, но тогда, если я прокручиваю немного вниз и переключаюсь в ландшафтный режим, все работает нормально!
У меня есть android:configChanges="orientation"
в Манифесте Android, чтобы предотвратить сброс веб-просмотра при изменении ориентации.
^^ Примечание ^^
Даже если вы десятая частьв дюйме от верхней части страницы он будет работать нормально, но если вы находитесь в верхней части страницы, он не будет работать.
Это класс, с которым у меня проблемы:
package my.app.name;
import my.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class ConverterCatalogActivity extends Activity {
WebView browser;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* Set the Content View */
setContentView(R.layout.main);
/* Get the WebView */
WebView wv1 = (WebView) findViewById(R.id.wv1);
/* Activate JavaScript */
wv1.getSettings().setJavaScriptEnabled(true);
wv1.canGoBack();
browser=(WebView)findViewById(R.id.wv1);
browser.loadUrl("file:///android_asset/index.html");
/* Prevent WebView from Opening the Browser */
wv1.setWebViewClient(new InsideWebViewClient());
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// We do nothing here. We're only handling this to keep orientation
// or keyboard hiding from causing the WebView activity to restart.
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK){
if(browser.canGoBack()){
browser.goBack();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
/* Class that prevents opening the Browser */
private class InsideWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
Вот скриншот в альбомном режиме.http://i39.tinypic.com/1rrc7q.png