Próbuję przewijać webview programowo, ale mam pewne problemy. webView.setScrollY() nie daje mi animacji, a webView.flingScroll() zachowuje się inaczej w zależności od długości strony. Jaki jest najlepszy sposób na zrobienie tego?Android WebView smooth scroll
6
A
Odpowiedz
1
Możesz użyć metody webView.scrollTo (x, y). Jednak będzie to przewijane natychmiast.
Nie ma żadnej dostępnej metody dla WebView do przewijania z animacją. Jeśli naprawdę musisz to zrobić, umieść WebView w ScrollView, a następnie możesz użyć np. smoothScrollBy itp
7
można przewijać za pomocą ObjectAnimator dostarczając aktualną pozycję WebView jak tego API 11+
ObjectAnimator anim = ObjectAnimator.ofInt(webView, "scrollY", webView.getScrollPositionY(), 0);
anim.setDuration(500).start();
+2
Świetna odpowiedź, zadziałała dla mnie. Jedyną rzeczą jest to, że nie ma metody jak getScrollPositionY(), powinieneś użyć webView.getScrollY() – Rosenpin
zagnieżdżenia przewijalnych widoki nie jest najlepszym pomysłem, daje wszelkiego rodzaju kłopoty, jeśli nie obsługiwać to poprawnie – user1806772