Как заставить браузер WVGA Android перестать масштабировать мои изображения?

Я разрабатываю HTML-страницу для отображения в браузерах Android. Рассмотрим эту страницу простого примера:

<html> <head><title>Simple!</title> </head> <body> <p><img src="http://sstatic.net/so/img/logo.png"></p> </body> </html> 

Он выглядит просто на стандартных HVGA-телефонах (320×480), но на HDPI WVGA (480×800 или 480×854) встроенный браузер автоматически масштабирует изображение; Это выглядит уродливо.

Я читал, что должен использовать этот тег, чтобы заставить браузер перестать масштабировать мою страницу:

 <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;" /> 

… но все, что делает, это отключить масштабирование пользователя (кнопки масштабирования исчезают); Это фактически не мешает браузеру масштабировать мое изображение. Корректировка масштабных коэффициентов (установка их всех на 2,0 или 0,5) не оказывает никакого эффекта.

Как заставить WVGA-браузер останавливать масштабирование моих изображений?

Solutions Collecting From Web of "Как заставить браузер WVGA Android перестать масштабировать мои изображения?"

Ах, нашел его, выполнив поиск по исходному коду Android. В метатеге « viewport » имеется новая настройка « target-densityDpi » для Android; Насколько я могу судить, он полностью недокументирован, за исключением комментариев на регистрацию!

Поддержка поддержки dpi для WebView.

В метатеге «viewport» вы можете указать «target-densityDpi». Если он не указан, он использует значение по умолчанию 160dpi на сегодняшний день. Тогда 1,0 масштабный коэффициент, указанный в теге viewport, означает 100% на G1 и 150% на Sholes. Если вы установите «target-densityDpi» на «device-dpi», то масштабный коэффициент 1.0 означает 100% как для G1, так и для Sholes.

Реализовано значение параметра image.devicePixelRatio и css для медиа-запросов устройства Safari.

Поэтому, если вы используете «device-dpi» и изменяете css для размера шрифта и изображения src в зависимости от window.devicePixelRatio, вы можете получить лучшую страницу на Sholes / Passion.

Ниже приведен список вариантов «target-densityDpi».

Device-dpi: используйте собственный dpi для работы с данными в качестве целевых точек. С низким разрешением на дюйм: 120 dpi в формате dpi: 160 точек на дюйм, что также является значением по умолчанию на сегодняшний день с высоким разрешением dpi: 240 точек на дюйм: мы принимаем любое число от 70 до 400 в качестве допустимого целевого dpi.

Теперь это часть документации API для WebView: http://developer.android.com/reference/android/webkit/WebView.html

См. Раздел « Создание веб-страниц для поддержки различных плотностей экрана»