Android:用手指向上滑动视图

时间:2014-04-02 15:24:06

标签: android

我在XML中定义了View,我想要的是让用户向上滑动视图,如果它没有上升一半,则返回。但在谷歌搜索一段时间后,我找不到任何有助于谷歌搜索的链接。任何想法都将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

使用手指移动视图时,您可以使用以下想法:当用户移动手指时检测触摸并根据移位移动视图。

GestureDetector gestureDetector = new GestureDetector(context, 
  new GestureDetector.SimpleOnGestureListener() {
    @Override
    public boolean onScroll(MotionEvent start, MotionEvent event, float distanceX, float distanceY) {
        view.setTranslationY(event.getY()-start.getY());
        return true;
    }
});

view.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent event) {
        gestureDetector.onTouchEvent(event);  // here we pass events to detector above
        return false;
    }
});

如果您想在用户停止滑动时将视图返回到初始位置,请在onTouch(见上文)中写下:

if(event.getActionMasked()==MotionEvent.ACTION_UP) {
    view.setTranslationY(0);
}