我正在尝试在ScrollView
中实施滑动,如果我向下滑动(甩动)我的手指,ViewGroup
对象将被刷新(或者只是调用方法来创建新项目),如果我向上滑动手指,ViewGroup
对象将被关闭。
如果你曾经使用过Feedly,它会向下滑动以刷新并向上滑动以关闭文章。
我怎么能实现这一点,是否有一个样本项目可以做到这一点?
我了解可以使用SwipeRefreshLayout
完成刷新部分,但SwipeRefreshLayout
没有向上滑动关闭功能。
谢谢!
答案 0 :(得分:0)
您可以查看此示例,以便在ListView,GridView,WebView,Expandable ListView中实现pull to refresh。
使用此示例并根据您的观点进行适当的更改。
https://github.com/chrisbanes/Android-PullToRefresh
要处理向上滑动,请执行onTouchEvent
来处理向上滑动事件。
@Override
public boolean onTouchEvent(MotionEvent event){
int action = MotionEventCompat.getActionMasked(event);
switch(action) {
case (MotionEvent.ACTION_DOWN) :
Log.d(DEBUG_TAG,"Action was DOWN");
return true;
case (MotionEvent.ACTION_MOVE) :
Log.d(DEBUG_TAG,"Action was MOVE");
return true;
case (MotionEvent.ACTION_UP) :
Log.d(DEBUG_TAG,"Action was UP");
return true;
case (MotionEvent.ACTION_CANCEL) :
Log.d(DEBUG_TAG,"Action was CANCEL");
return true;
case (MotionEvent.ACTION_OUTSIDE) :
Log.d(DEBUG_TAG,"Movement occurred outside bounds " +
"of current screen element");
return true;
default :
return super.onTouchEvent(event);
}
}
修改MotionEvent.ACTION_UP
案例以关闭文章。