Я написал очень простое приложение для Android, которое в основном отображает полноэкранный режим WebView
(без заголовка, панели уведомлений или строки URL) в альбомной ориентации.
Затем Activity
в основном загружает файл client.html
с ПК пользователя, который затем загружает фиксированное изображение, предназначенное для заполнения всего экрана. Файл client.html
имеет элемент meta
следующим образом ...
<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, height=device-height, initial-scale=1.0, user-scalable=no" />
В <html><body>
атрибут <img>
src
устанавливается путем запроса изображения определенного размера следующим образом ...
<div id="BasicDemo" >
<img id="nscreen" />
</div>
<script type="text/javascript">setImageSource()</script>
... а это javascript setImageSource()
...
function setImageSource() {
$.getScript("myscript.js", function() {
$("#nscreen").attr("src", "/control?size=" + getDimensions());
});
}
Функция getDimensions()
- это еще один фрагмент JavaScript, который вызывает приложение Android и извлекает «абсолютные» размеры экрана в пикселях.
Итак, вот моя проблема (и я знаю, что использование абсолютных пикселей, вероятно, является ее корнем) ....
На моем Desire он классифицируется как hdpi для веб-приложений и имеет фактические пиксели 800x480. Вызов для установки источника изображения выглядит как ... "/control?size=800x480"
и работает отлично. Изображение соответствует моему полному экрану. Один тестер, однако, имеет 7-дюймовый планшет - также 800x480, но из-за размера экрана он классифицируется как mdpi. Запрос изображения того же размера с "/control?size=800x480"
и тот факт, что тег <meta>
заставляет mdpi, очевидно, означает, что изображение увеличено.
Итак, вопрос - я вынужден указывать размеры при запросе источника изображения - как я должен правильно переводить вещи? У кого-нибудь есть подобный опыт, которым они могут поделиться?
Я прочитал Ориентационные экраны из веб-приложений несколько раз, и я явно что-то упускаю.