将ViewPager项目上的垂直滑动添加到"关闭"他们

时间:2012-10-26 20:09:52

标签: android android-viewpager swipe

我知道那些不发布代码并且不解释他们所做的事情的人在这里不受欢迎,但我认为以下问题可能会引起很多开发人员的兴趣,并且可能值得尝试一下。

我使用经典的ViewPager在我的应用程序中显示一些信息,最近我在规划扑克应用程序中看到了一个很好的例子。

这很棒且非常棒,但我真正希望实现的是垂直滑动以移除ViewPager中的卡片。

说实话,我没有地方可以开始,甚至通过查看ViewPager源代码,我感到有些迷失。

你是否有人想知道某人是否已经尝试过这样的行为?

如果答案是否定的,我会继续尝试并在此发布更新,但由于我已经浪费了几个小时,我担心这会很难。

enter image description here

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,也很容易。您只需在活动中实现gestureListner,然后在onFling()方法轨道中实现垂直滑动。休息取决于你的实施。

我正在添加一小段代码,只是为了给你一个起点。

     private int swipe_Min_Distance = 200;
 private int swipe_Max_Distance = 600;
 private int swipe_Min_Velocity = 100;

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
   float velocityY) {
if(xDistance > this.swipe_Max_Distance || yDistance > this.swipe_Max_Distance)
   return false;

  velocityX = Math.abs(velocityX);
  velocityY = Math.abs(velocityY);
        boolean result = false;

if(velocityY > this.swipe_Min_Velocity && yDistance > this.swipe_Min_Distance){
   if(e1.getY() > e2.getY()) // bottom to up swipe
   {
        //here you can do what ever you want after detection of your swipe
       }
   else{  //top to bottom swipe
    //here you can do what ever you want after detection of your swipe
       }

   result = true;
  }

   return result;