Веб-просмотр Android подходит для всего содержимого экрана

Привет, у меня есть веб-просмотр, и я хочу, чтобы он соответствовал экрану, так что пользователю не нужно прокручивать по горизонтали или по вертикали

Я раньше искал, многие предлагают следующее, но оно ограничивает ширину, пользователю все равно придется прокручивать по вертикали:

engine = (WebView) (findViewById(R.id.webView1)); engine.loadUrl(www.example.com); engine.getSettings().setLoadWithOverviewMode(true); engine.getSettings().setUseWideViewPort(true); 

Я попробовал другой метод, используя метод масштабирования, но он не будет работать. Я получил ширину окна (1024 пикселя), а ширина веб-контента была также 1024 пикселя! Таким образом, масштабирование не сработало … Есть ли способ получить правильный масштаб?

Или … есть ли другой способ? .. СПАСИБО !!

 // get the window width and height Point outSize = new Point(); getWindowManager().getDefaultDisplay().getSize(outSize); width = outSize.x; height = outSize.y; Log.i("Menuboard", "width: " + Integer.toString(width) + ", height: " + Integer.toString(height)); WebViewClient client = new WebViewClient() { public void onPageFinished(WebView view, String url) { int x = engine.getWidth(); int y = engine.getHeight(); Log.i("Menuboard", "web width: " + Integer.toString(x) + ", height: " + Integer.toString(y)); int scale1 = width * 100/x; int scale2 = height * 100/y; Log.i("Menuboard", "Scale1: " + Integer.toString(scale1) + ", Scale2: " + Integer.toString(scale2)); if (scale1 < scale2) { engine.setInitialScale(scale1); Log.i("Menuboard", "scale1"); } else if (scale1 > scale2) { engine.setInitialScale(scale2); Log.i("Menuboard", "scale2: " + Integer.toString(scale2)); } } }; engine = (WebView) (findViewById(R.id.webView1)); engine.loadUrl(string); engine.getSettings().setBuiltInZoomControls(true); engine.setPadding(0, 0, 0, 0); engine.setWebViewClient(client); 

Всего несколько заметок:

Чтобы масштабировать веб-просмотр:

 engine = (WebView) (findViewById(R.id.webView1)); engine.loadUrl(www.example.com); engine.getSettings().setBuiltInZoomControls(true); engine.setPadding(0, 0, 0, 0); engine.setInitialScale(50); // 0 - 100 where 100 is full scale 

Чтобы получить ширину и высоту окна:

 Point outSize = new Point(); getWindowManager().getDefaultDisplay().getSize(outSize); width = outSize.x; height = outSize.y; 

Используйте следующие методы.

 webview.getSettings().setUseWideViewPort(true); webview.getSettings().setLoadWithOverviewMode(true); 

Чтобы веб-просмотр расширялся на весь экран, добавьте webview в свой макет xml и убедитесь, что вы задали layout_width и layout_height для fill_parent . Вот простой пример:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout> 
Intereting Posts
Как загрузить несколько изображений в ImageViews (parse.com) Android – Как проверить, включен ли параметр разработчика Удалить программно Элементы меню не отображаются в «ШерлокеФрагмент» с вкладками Использование saripaar в DialogFragment Проект ссылается на атрибуты RTL, но явно не включает и не отключает поддержку RTL Не удается найти файл .android на моем mac, чтобы получить ключ карты? PNG теряют прозрачность в Android (если все пиксели не прозрачны) Показать контекстное меню с коротким нажатием не длинным кликом Mediarecorder.audiosource.voice_call не работает в ошибке xiaomi redmi Как отключить отслеживание кликов по событию Framelayout Совместное использование пользовательского AccountAuthenticator между приложениями Картинка / трансформирование холста Android не изменяет зону клики ОШИБКА: НЕПРАВИЛЬНО НАЧАТЬ ПРОЦЕСС DAEMON – Создание Gradle в Android Studio 1.0 Получить значение SharedPreference на телефоне Android