WebView внутри ViewPager или ScrollView - странная ошибка рендеринга на Android 3.0+ - PullRequest
8 голосов
/ 25 ноября 2011

У меня есть ViewPager.Каждая страница ViewPager является ScrollView.ScrollView содержит WebView и несколько других представлений.

На Android 2.3 и более ранних версиях все работает нормально, но на 3.0+ возникает странная проблема с рендерингом:

The WebView should start right under the photo

Когдапрокрутка влево / вправо в ViewPager, также есть очень тонкая проблема рендеринга (которая присутствует и в приложении Android 4.0 Gmail).

Ответы [ 3 ]

14 голосов
/ 25 ноября 2011

Это может быть связано с аппаратным ускорением. Попробуйте специально отключить его. Вы можете сделать это

1) в теге приложения внутри манифеста (который отключит аппаратное ускорение во всем приложении)

android:hardwareAccelerated="false"

ИЛИ 2) Отключение для проблемного представления в коде:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

Для получения дополнительной информации и проверки правильности аппаратного ускорения дескриптора WebView или ListView см. эту ссылку

4 голосов
/ 29 ноября 2011

Я частично решил, позвонив webView.requestLayout() в ScrollView.onScrollChanged().Теперь это почти нормально, но при прокрутке WebView кажется немного не синхронизированным с другими ScrollView детьми.Иногда WebView, кажется, прокручивается немного медленнее, чем другие виды, и мгновение догоняет их.

2 голосов
/ 17 февраля 2012

Была та же проблема, которая не была исправлена ​​принятым ответом. В конце концов, это оказалось связано с position:fixed в CSS страницы. Замена этих экземпляров на position:absolute, кажется, добилась цели.

...