gpt4 book ai didi

android - SwipeRefreshLayout 在 onRefresh() 开始之前检测向下滑动事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:32 26 4
gpt4 key购买 nike

我想检测用户何时下拉进行刷新

(ActionBar 下方的刷新行开始扩展到其 UI 宽度)。

我想用消息(“向下滑动以刷新”)替换 ActionBar,但是,

我不知道应该使用哪个事件来调用我的函数。

最佳答案

您可以扩展 SwipeRefreshLayout,覆盖 onTouchEvent,并在 ACTION_DOWN 事件上进行更改,即:

public class MySwipeRefreshLayout extends SwipeRefreshLayout {

private Runnable onActionDown, onActionUp;

public MySwipeRefreshLayout(Context context, AttributeSet attributeSet) {
super(context,attributeSet);
}

public void setOnActionDown(Runnable onActionDown) {
this.onActionDown = onActionDown;
}

public void setOnActionUp(Runnable onActionUp) {
this.onActionUp = onActionUp;
}

@Override
public boolean onTouchEvent (MotionEvent ev) {
if (ev.getAction() == ev.ACTION_DOWN) {
if (onActionDown != null) {
onActionDown.run();
}
} else if (ev.getAction() == ev.ACTION_UP) {
if (onActionUp != null) {
onActionUp.run();
}
}
return super.onTouchEvent(ev);
}
:
:
}

确保在布局中使用扩展类。然后,在您的 View 中,您可以将 Runnable 传递给 setOnActionDown 以更新操作栏或您想要的任何其他内容....

关于android - SwipeRefreshLayout 在 onRefresh() 开始之前检测向下滑动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23332754/

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