Неверная ширина в браузере веб-браузера Android
Я заметил проблему с браузером Android по умолчанию, где 100% -ная ширина действительно может пройти мимо края экрана. Здесь минимальный тестовый пример:
<div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'> </div>
<div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>New & improved div</div>
<div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>another working one</div>
<div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>another</div>
Это работает так, как ожидалось, в браузере рабочего стола, но в браузере веб-браузера Android первый div уходит с экрана и не меняет ширину при масштабировании и выходе. Разделы после него работают правильно.
Обновление. Я тестировал это на 2.3, 3.0, 3.1 и недавно созданный эмулятор 2.2, все они не могут правильно его отсортировать. Похоже, что это заметили другие люди, см. здесь
и здесь. Кто-нибудь знает хороший обходной путь для этой ошибки?
Ответы
Ответ 1
В моем WebView я смог зафиксировать ширину, отключив широкоэкранный просмотр.
webview.getSettings().setUseWideViewPort(false);
Это отключает горизонтальную прокрутку, если это абсолютно необходимо, а div width и zoom работают как ожидалось. Очевидно, что это будет работать только с пользовательским WebView, возможно, существует более общий способ сделать это с помощью чего-то вроде meta name= "viewport"... > ?
Ответ 2
Просто добавьте этот метатег в свой тег html head.Ive проверил его с браузером Android 2.1, и он отлично работает при масштабировании.
<meta name="viewport" content="width=device-width" />
Ответ 3
использовать
layout_width="fillparent"
:)