Intereting Posts
Изменить размер шрифта для сообщения AlertDialog Фон PopupWindow иногда становится прозрачным и фиолетовым ViewPager setCurrentItem замораживает поток пользовательского интерфейса Как передать различные объекты в качестве параметра в AsycTask? Как воспроизводить мелодию звонка / сигнала тревоги в Android Android: цвет / стиль DialogPreference? Android: разница между невидимыми и ушла? Как проверить, существует ли таблица в базе данных Android SQLite? Ошибка MediaPlayer (1, -1004), а также MEDIA_ERROR_IO, пытающаяся передать музыку на Samsung S3 Почему путь, нарисованный на масштабированной GLES20RecordingCanvas и простой холст, имеет разные качества? Пользовательский интерфейс приложения «Текст в речь» – это медленный андроид Странные исключения в android 4.0 с eclipse Android – внедрение startForeground для службы? При вызове Games.Achievements.unlock не отображается всплывающая подсказка Как получить текст из autocomplete textview android

Как показать определенную часть веб-страницы в веб-обозревателе с подходящим экраном для всех устройств

Я хочу показать веб-страницу внутри WebView. До этого все прекрасно.

Но у меня есть WebPage (как указано ниже), и я хочу определенную часть. Я имею в виду, что только верхний левый угол должен быть видимым в соответствии с режимом экрана во всех устройствах.

Я решаю эту проблему с двух последних трех дней.

Что я хочу: я хочу показать верхний левый угол веб-страницы, чтобы показать внутри Webview. Независимо от того, что Stratergy может быть с масштабированием или любым другим вариантом, но он должен соответствовать экрану для всего устройства.

Еще одна вещь, которую я не могу изменить Исходный код веб-страницы, потому что она исправлена. Мне нужно управлять самим кодом.

Введите описание изображения здесь

Что я пробовал: я ссылаюсь на ссылки Stackoverflow, но не повезло.

Вот мой код. :

WebView wv; wv = (WebView) findViewById(R.id.webview_MyPoops); wv.getSettings().setJavaScriptEnabled(true); // wv.setInitialScale(185); // wv.setInitialScale(30); String URL = "MY_LINK"; wv.loadUrl(URL); WebSettings webSettings = wv.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(true); webSettings.setLoadWithOverviewMode(true); webSettings.setUseWideViewPort(true); 

Я получаю полную веб-страницу, показанную на устройствах.

Он отлично работает в моем устройстве LG (у которого есть разрешение 480 * 800), но на большом устройстве или вкладках, таких как Galaxy Tab2, я получаю очень небольшое изображение верхнего левого угла, а все остальные области экрана – только фон WebPage.

Ниже приведен снимок экрана Galaxy Tab2 после запуска вышеуказанного кода. Введите описание изображения здесь Пожалуйста, у вас есть предложение, в котором мне не хватает. Заранее спасибо.

Solutions Collecting From Web of "Как показать определенную часть веб-страницы в веб-обозревателе с подходящим экраном для всех устройств"

Попробуйте с этим кодом прыгать эту работу для u.

 webview.setInitialScale(getScale()); private int getScale(){ Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int width = display.getWidth(); Double val = new Double(width)/new Double(200); Log.e("hh", "** "+val); val = val * 100d; Log.e("hh", "** "+val); return val.intValue(); } 
 WebView x; x.setInitialScale(1); 

Это возможное увеличение расстояния. Но для некоторых сайтов это выглядит просто UGLY.

Это была вторая версия, которую я нашел

 test1.getSettings().setDefaultZoom(ZoomDensity.FAR); 

Thats хороший все круче, чем кажется, просто уменьшает достаточно далеко для многого, но все еще не то, что я искал.

И вот вот окончательное решение, которое у меня есть.

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

В основном, на что они отвечают, в другом вопросе, подобном этому.

 setLoadWithOverviewMode(true) 

Загрузка WebView полностью уменьшена

 setUseWideViewPort(true) 

Вы можете попробовать использовать HtmlCleaner (примеры использования здесь ), чтобы получить html с веб-страницы, затем извлечь часть, которую вы хотите отобразить, и загрузить в WebView с помощью: WebView.loadData(); ,

Я использовал этот метод в одном из моих приложений для переформатирования страницы, чтобы было проще использовать ее на мобильном устройстве.

На странице HTML вы можете иметь что-то вроде target-densitydpi=240; В зависимости от типа устройства просто установите этот параметр из кода Java, страница будет автоматически соответствовать целевой плотности.

Я считаю, что исправление должно быть сделано только на уровне веб-страницы, и в идеале WebView не может делать никаких трюков. WebView – это просто браузер (конкретный браузер WebView ), который должен просто выполнять рендеринг, как указано на веб-странице.

Чтобы действительно исправить вашу проблему, вы должны попробовать изменить CSS веб-страницы.