WebView in ViewPager oder ScrollView - seltsamer Rendering-Bug auf Android 3.0+

8

Ich habe einen ViewPager. Jede Seite des ViewPagers ist eine ScrollView. Die ScrollView enthält ein WebView und mehrere andere Ansichten.

Auf Android 2.3 und älter funktioniert alles gut, aber ab 3.0+ gibt es ein seltsames Rendering-Problem:

Wenn Sie im ViewPager nach links / rechts scrollen, gibt es auch ein sehr subtiles Rendering-Problem (das auch in der Android 4.0 Google Mail-App vorhanden ist).

    
fhucho 25.11.2011, 19:11
quelle

3 Antworten

4

Ich habe es teilweise gelöst, indem ich webView.requestLayout() in ScrollView.onScrollChanged() aufgerufen habe. Es ist jetzt fast in Ordnung, aber beim Scrollen scheint die WebView nicht mehr mit anderen ScrollView untergeordnet zu synchronisieren. Manchmal scheint WebView etwas langsamer zu scrollen als andere Ansichten und holt sie einen Moment später ein.

    
fhucho 29.11.2011, 12:26
quelle
12

Dies könnte mit hardwareAcceleration zusammenhängen. Versuchen Sie es ausdrücklich auszuschalten. Sie können dies tun

1) im Anwendungs-Tag in Ihrem Manifest (wodurch die Hardwarebeschleunigung in der App deaktiviert wird)

%Vor%

ODER 2) Deaktivierung für die problematische Ansicht im Code:

%Vor%

Weitere Informationen und zur Überprüfung, ob ein WebView oder ein ListView die Hardwarebeschleunigung korrekt handhaben, finden Sie unter diesen Link

    
Entreco 25.11.2011 19:21
quelle
2

Hatte das gleiche Problem, das durch die angenommene Antwort nicht behoben wurde. Am Ende stellte sich heraus, dass es mit position:fixed im CSS der Seite zusammenhing. Das Ersetzen dieser Instanzen durch position:absolute scheint der Trick gewesen zu sein.

    
Goldsmith 17.02.2012 11:22
quelle