【问题标题】:Android's ScrollView with Custom Swipe Events带有自定义滑动事件的 Android ScrollView
【发布时间】:2014-10-13 23:24:20
【问题描述】:

我正在尝试在ScrollView 中实现滑动,如果我向下滑动(甩动)我的手指,ViewGroup 对象将被刷新(或者只是调用一个方法来创建新项目)并且如果我向上滑动我的手指,ViewGroup 对象将被关闭。

如果您曾经使用 Feedly,它确实可以向下滑动以刷新,向上滑动以关闭文章。

我该如何实现这个,有没有一个示例项目可以做到这一点?

我知道刷新部分可以用SwipeRefreshLayout 完成,但SwipeRefreshLayout 没有向上滑动关闭功能。

谢谢!

【问题讨论】:

    标签: android scrollview swipe gesture


    【解决方案1】:

    您可以查看此示例以在 ListView、GridView、WebView、Expandable ListView 中实现拉取刷新。

    使用此示例并根据您的视图进行适当的更改。

    https://github.com/chrisbanes/Android-PullToRefresh

    为了处理向上滑动,实现onTouchEvent 来处理向上滑动事件。

    Android Documentation:

    @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 案例以结束您的文章。

    【讨论】:

    • 没有。为此,您需要做一些细微的修改来处理MotionEvent.ACTION_UP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 2015-02-11
    • 2013-05-18
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多