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