0

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

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

这很棒而且很棒,但我真正想要实现的是垂直滑动以删除 ViewPager 中的卡片。

老实说,我没有地方开始,甚至通过查看 ViewPager 源代码,我都感到有点失落。

您是否知道是否有人已经尝试过这种行为?

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

在此处输入图像描述

4

1 回答 1

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;
于 2012-10-26T20:43:10.540 回答