Неправильная ширина в браузере Android - PullRequest
10 голосов
/ 24 июня 2011

Я заметил проблему в браузере Android по умолчанию, где ширина 100% может фактически выходить за край экрана.Вот минимальный тестовый пример:

  <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>&nbsp;</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 выходит за пределы экрана и не меняет ширину при увеличении и уменьшении.,Div'ы после того, как он работает правильно.

Обновление : я проверил это на 2.3, 3.0, 3.1 и недавно созданном эмуляторе 2.2, все они не в состоянии правильно определить его размер.Похоже, что другие люди заметили это, см. здесь и здесь .Кто-нибудь знает хороший обходной путь для этой ошибки?

Ответы [ 3 ]

10 голосов
/ 05 июля 2011

Просто добавьте этот метатег внутри тега html head. Я проверил его в браузере Android 2.1, и он отлично работает при увеличении.

<meta name="viewport" content="width=device-width" />
1 голос
/ 06 июля 2011

В моем WebView я смог зафиксировать ширину, отключив широкую область просмотра.

webview.getSettings().setUseWideViewPort(false);

Это отключает горизонтальную прокрутку, если в этом нет абсолютной необходимости, а ширина и масштаб деления работают должным образом. Очевидно, что это будет работать только с пользовательским WebView, может быть, есть более общий способ сделать это с чем-то вроде ?

0 голосов
/ 08 июля 2011

использование

layout_width="fillparent"

:)

...