4
我希望當用戶爲刷新SwipeRefreshLayout檢測向下滑動事件onRefresh()之前開始
拉下(動作條下刷新線開始擴大其UI寬度)來檢測。
我想消息來替換動作條(「向下滑動即可刷新」),但是,
我不知道我應該使用哪一個事件來調用我的函數。
我希望當用戶爲刷新SwipeRefreshLayout檢測向下滑動事件onRefresh()之前開始
拉下(動作條下刷新線開始擴大其UI寬度)來檢測。
我想消息來替換動作條(「向下滑動即可刷新」),但是,
我不知道我應該使用哪一個事件來調用我的函數。
可以擴展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);
}
:
:
}
確保您使用擴展的類的佈局。然後,在你看來,你可以傳遞一個Runnable到setOnActionDown更新動作條或任何其他你想....
這不是'下來'意味着按下,而不是向下移動?! –
你可以訪問此鏈接 [SwipeRefreshLayout的實施] [1] [1]:http://stackoverflow.com/questions/22856754/how-to-adjust-the-swipe-down-distance-in-swiperefreshlayout?rq=1 –