我正在尝试以编程方式滚动 webview,但我遇到了一些问题。webView.setScrollY() 没有给我动画 webView.flingScroll() 似乎表现不同,具体取决于页面的长度。做这个的最好方式是什么?
问问题
6152 次
3 回答
14
您可以通过提供 webview 的当前位置来使用ObjectAnimator滚动,如 API 11+
ObjectAnimator anim = ObjectAnimator.ofInt(webView, "scrollY", webView.getScrollPositionY(), 0);
anim.setDuration(500).start();
于 2016-06-22T08:30:58.560 回答
1
您可以使用 webView.scrollTo(x, y) 方法。但是,这将立即滚动。
WebView 没有可用的方法来滚动动画。如果你真的必须这样做,将 WebView 放入 ScrollView 然后你可以使用例如 smoothScrollBy 等。
于 2013-05-30T09:15:51.933 回答
1
private final Property<WebView, Integer> WEBVIEW_SCROLL = new Property<WebView, Integer>(Integer.class, "") {
@Override
public Integer get(WebView object) {
return object.getScrollY();
}
@Override
public void set(WebView object, Integer value) {
object.scrollTo(object.getScrollX(), value);
}
};
ObjectAnimator.ofInt(mWebView, WEBVIEW_SCROLL, targetY).setDuration(duration).start();
对我有用~,你可以试试这个~
于 2018-07-26T02:08:27.943 回答