2012-05-24 2 views
2

Я использовал WebView для загрузки разных данных (данные HTML), и все это работает нормально. Но проблема возникает, когда WebView отказывается сокращаться, когда я загружаю меньшую страницу. Высота WebView установлена ​​на WRAP_CONTENT.WebView не сжимается, чтобы соответствовать высоте страницы

Я пробовал много вещей, как очистку истории (может быть страница из истории прилипаемости его такого размера), пытался установить по высоте 0, а затем снова WRAP_CONTENT перед каждым изменением страницы и пытался использовать clearView() но это полностью разрушает WebView.

Во всяком случае, это мой код для загрузки:

// Clearing the web view 
mWebView.loadUrl("about:blank"); 
mWebView.loadData(mItem.getHtml(), "text/html", "utf-8"); 

Спасибо!

ответ

0

WebViews не переносят содержимое отображаемого html, поскольку они проходят через макет до того, как загружается содержимое веб-представления. Содержимое WebView обычно динамично, поэтому не имеет смысла обертывать это.

Если вы только пытаетесь стилизовать текст с помощью HTML, вы можете использовать текстовое представление для этого.

mTextView.setText(Html.fromHtml(text)); 
+0

Я не могу использовать 'Html.fromHtml()', потому что у меня также есть фотографии, а css и WebView - мой лучший вариант. Как я могу обернуть содержимое в любом случае? Смешно, что я загружаю длинный текст, скажем, 1000 строк, а затем текст со 100 строками, и пользователь должен прокручивать большое пустое пространство, чтобы перейти к элементам управления под WebView. Есть ли другой вариант для этого? – Elad92

+0

Ну, я могу придумать пару возможных подходов. Если элементы управления, расположенные ниже веб-представления, невелики, вы можете сохранить их на экране и просто прокручивать часть веб-просмотра. Вы также можете взаимодействовать с некоторым пользовательским Javascript через addJavascriptInterface(), который сообщает высоту отображаемой страницы, а затем соответствующим образом меняет размер вашего веб-представления. – BenTobin

+0

Я не могу изменить дизайн, я должен держать их ниже веб-представления. Я не знаю много скрипта java, если вы можете написать мне небольшой пример, это будет здорово! – Elad92

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