gpt4 book ai didi

android - WebView 滚动

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:14 29 4
gpt4 key购买 nike

我试图在滚动达到最大值后拉动 webView(有点像“拉动刷新”效果)。

我的自定义 View 扩展了 WebView,并覆盖了方法

 @Override
protected boolean overScrollBy(final int deltaX, final int deltaY, final int scrollX, final int scrollY, final int scrollRangeX, final int scrollRangeY, final int maxOverScrollX, final int maxOverScrollY, final boolean isTouchEvent)
{
VerticalOverScrollController.Result result = overscrollController.calcVerticalOverScroll(deltaY, scrollY);
Log.d("overScrollBy", "scrollY " + result.scrollY + " overScrollY " + result.overScrollY);

return super.overScrollBy(deltaX, deltaY, scrollX, result.getScrollY(), scrollRangeX, scrollRangeY, maxOverScrollX, result.getOverScrollY(), isTouchEvent);
}

calcVerticalOverScroll

 public Result calcVerticalOverScroll(final int deltaY, final int scrollY)
{
Result result = new Result();

if (scrollY <= 0 && deltaY < 0)//if at top and pulling down...
{
result.scrollY = (maxTopOverScroll > 0) ? scrollY : 0;
result.overScrollY = maxTopOverScroll;
} else
{
result.scrollY = (maxBottomOverScroll > 0) ? scrollY : 0;
result.overScrollY = maxBottomOverScroll;
}

return result;
}

结果就是

  public static class Result
{
int scrollY;
int overScrollY;

... getters()
}

问题是,这在 任何 View (包括 webview)KitKat 上都完美地工作

在 KitKat 之后这在任何 View 上都能完美地工作WebView 除外,其中scrollY 的日志始终为 0。

关于此版本的 WebView 可能发生的变化有什么想法吗?

如果这不成功,关于如何在 WebView 上正确实现 overScroll 效果有什么想法吗?

提前致谢。

最佳答案

Android 4.4 KitKat(Android 19)推出新版本WebView那是基于 Chromium 的。在这个 chromium 浏览器中,他们从 webview 中删除了许多功能。

其中一些错误已报告给 Google。检查links : Restore scroll position feature doesn't work on KitKat

从链接来看,这也是报告的错误之一

On Android 4.4 KitKat, probably related to the Chromium WebView, the scroll position of the previous article is not restored when you go back.

这不是这个问题的确切答案,只是指向事物。但是在新的 webview 中必须有一个解决方法来执行此操作。让我检查一下并更新我的答案!!

关于android - WebView 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32236781/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com