2013-05-12 2 views
0

У меня есть WebView внутри ScrollView. Это мое первое требование, так как в ScrollView будут и другие элементы. Я хочу, чтобы WebView соответствовал содержимому доступной ширины устройства. Для этого я использую метатег viewport, как показано ниже.Метаданные Viewport в WebView не правильно масштабируют содержимое на Android

<meta name=\"viewport\" content=\"target-densitydpi=device-dpi, initial-scale=1, width=device-width\" /> 

Высота WebView установлена ​​на Wrap_Content. Я загружаю WebView при нажатии кнопки с помощью метода loadDataWithBaseURL(). Теперь проблема заключается в том, что он вызывает содержимое ниже мерцания WebView, а содержимое WebView не является корректным. Он иногда оставляет пространство ниже содержимого WebView. Когда я удаляю метг metag, содержимое WebView загружается с нужным размером, но не вставляется в окно просмотра.

Любые предложения?

ответ

1

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

Я никогда не пробовал это, но вы могли сделать содержимое страницы не отображаемым (что-то вроде style = "display: none") до тех пор, пока тег viewport не будет обработан (window.onload должно быть достаточным).

Смежные вопросы