Если я запускаю какой-то javascript на WebView
во время прокрутки WebView
(с пальцем на экране), представление не обновляется с новым внешним видом, пока палец не будет снят с устройства и прокрутка останавливается.
Чтобы проверить это, я переопределяю onScroll
в WebView
и там я вызываю некоторый javascript, который меняет фон страницы на случайный цвет. Это вызывается снова и снова, пока страница прокручивается. Поэтому при прокрутке он должен быстро мигать разными цветами.
Однако на Nexus S с Gingerbread и Galaxy Nexus с сэндвичем с мороженым цвет обновляется только после остановки прокрутки.
Но в Xoom с Honeycomb цвет постоянно обновляется при прокрутке. Это желаемый результат.
Есть ли какие-либо идеи о том, что отличается на других устройствах и как заставить WebView обновляться при прокрутке, как это делал Xoom?
Спасибо!
Дополнительная информация: Просто чтобы заметить, что javascript получен и активирован во время прокрутки, но изображение, показывающее эти изменения, не появится, пока не закончится прокрутка. Например, если вызываемый вами javascript - "console.log ('rawr');" логи при прокрутке появляются.
Нашли что-то в исходном коде Существует WebView
метод с именем startDrag () , который вызывает WebViewCore.pauseUpdatePicture (mWebViewCore) , который отключает изображение от обновления во время прокрутки. В 3.0 они представили WebSetting setEnabledSmoothTransition () , который вы можете видеть в коде 4.0, позволяет отключить паузу. Тем не менее, это доступно только 3,0 и выше, что означает менее 3% в диких устройствах. Пока я не вижу способа обойти это в устройствах до 3.0 .....: (