gpt4 book ai didi

android - SwipeRefreshLayout -- 如何检测拖动距离?

转载 作者:行者123 更新时间:2023-11-29 01:40:44 27 4
gpt4 key购买 nike

我在我的布局中使用了 SwipeRefreshLayout,我需要显示一个动画来调整已被下拉的距离。

到目前为止,我还没有找到任何方法来检测已拉动的实际距离。 SwipeRefreshListener 仅检测是否发生了刷新。

如有任何帮助,我们将不胜感激。

最佳答案

要监控拖动距离,您可以简单地跟踪 SwiperefreshLayout 顶部与其唯一的直接子顶部之间的距离。

我发现观察距离变化的唯一方法是使用 PrewDrawListener。

这是一个代码 fragment :

swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.swipe_container);
...
final View swipeTarget = swipeRefreshLayout.getChildAt(0);

swipeTarget.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
dragDistance = swipeTarget.getTop() - swipeRefreshLayout.getTop();
return true;
}
});

关于android - SwipeRefreshLayout -- 如何检测拖动距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24839021/

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