问题描述
我有一个使用ViewPager和FragmentStatePagerAdapter Android应用程序。不过,我需要添加一个新功能中,我必须知道刷卡方向从一个片段视图移动到另一个,左或右。 (即,我刷卡离开的时候,我会做一件事,当我向右滑动,我会做别的事情)。
I have an Android app that uses ViewPager and FragmentStatePagerAdapter. I however need to add a new feature in which I have to know the swipe direction to move from one fragment view to another, left or right. (i.e, when I swipe left, I would do one thing, and when I swipe right I would do something else).
请注意,我不需要这些事件发生后的刷卡就结束了。我为刷卡时做的那些事件。我想用 setOnPageChangeListener()
,但它并没有告诉我刷卡方向。你可以告诉我,请就如何找出刷卡方向?
Please note, I do not need the events to happen AFTER the swipe is over. I have to do those events as the swipe occurs. I thought of using setOnPageChangeListener()
but it does not tell me swipe direction. Can you advise me please on how to figure out swipe direction?
感谢。
推荐答案
也许你可以建立一个监听器是这样的:
Maybe you can build a listener like this:
buttonIcons.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(final View v, final MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
downX = event.getX();
return true;
case MotionEvent.ACTION_UP:
upX = event.getX();
final float deltaX = downX - upX;
if (deltaX > 0 && deltaX > SWIPE_MIN_DISTANCE) {
final Animation loadInAnimation = AnimationUtils
.loadAnimation(
activity.this,
R.anim.slide_in_right);
final Animation loadOutAnimation = AnimationUtils
.loadAnimation(
activity.this,
R.anim.slide_out_left);
viewFlipper.setInAnimation(loadInAnimation);
viewFlipper.setOutAnimation(loadOutAnimation);
viewFlipper.showPrevious();
startSaveButtonAnimation();
}
if (deltaX < 0 && -deltaX > SWIPE_MIN_DISTANCE) {
final Animation loadInAnimation = AnimationUtils
.loadAnimation(
activity.this,
R.anim.slide_in_left);
final Animation loadOutAnimation = AnimationUtils
.loadAnimation(
activity.this,
R.anim.slide_out_right);
viewFlipper.setInAnimation(loadInAnimation);
viewFlipper.setOutAnimation(loadOutAnimation);
viewFlipper.showNext();
startSaveButtonAnimation();
}
return true;
}
return false;
}
});
这篇关于在ViewPager刷卡方向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!