Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android手势左右滑动效果大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

最近想实现Android左滑弹出菜单框,右滑消失菜单这个个功能。了解了一下Android 的滑动事件,必须是在view组件或者Activity上实现,同时必须实现OnTouchListener,OnGestureListener这个两个接口。

public class MyRelativeLayout extends RelativeLayout implements GestureDetector.onGestureListener{
  private float m@R_674_10022@,mposy,mCur@R_674_10022@,mCurposy;
  private static final int FLING_MIN_DISTANCE = 20;// 移动最小距离
  private static final int FLING_MIN_VELociTY = 200;// 移动最大速度
  //构建手势探测器 
  GestureDetector mygesture = new GestureDetector(this);
  public MyRelativeLayout(Context context){
    super(context)
  }

  public MyRelativeLayout(Context context,AttributeSet attrs,int defStylE) {
    super(context,attrs,defStylE);
    // TODO Auto-generated constructor stub
  }

  public MyRelativeLayout(Context context,AttributeSet attrs) {
    super(context,attrs);
    // TODO Auto-generated constructor stub
  }
    @Override
  public Boolean onTouchEvent(MotionEvent arg0) {
    // TODO Auto-generated method stub
    return mDetector.onTouchEvent(arg0);

  }

  @Override
  public Boolean onSingleTapUp(MotionEvent E) {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public Boolean onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY) {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public Boolean onDown(MotionEvent E) {
    // TODO Auto-generated method stub
    return false;
  }


  @Override
  public void onShowPress(MotionEvent E) {
    // TODO Auto-generated method stub

  }

   @Override
  public Boolean onFling(MotionEvent e1,float veLocityX,float veLocityY) {
    // TODO Auto-generated method stub
    // e1:第1个ACTION_DOWN MotionEvent  
    // e2:最后一个ACTION_MOVE MotionEvent  
    // veLocityX:X轴上的移动速度(像素/秒)  
    // veLocityY:Y轴上的移动速度(像素/秒)  

    // X轴的坐标位移大于FLING_MIN_DISTANCE,且移动速度大于FLING_MIN_VELociTY个像素/秒  
    //向左 
    if (e1.getY() - e2.getY() > FLING_MIN_DISTANCE){   
//           && Math.abs(veLocityX) > FLING_MIN_VELociTY) {   
      collapse();
       }  
    //向上 
    if (e2.getY() - e1.getY() > FLING_MIN_DISTANCE   
           && Math.abs(veLocityX) > FLING_MIN_VELociTY) {

    }   
      return false;   
  } 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

大佬总结

以上是大佬教程为你收集整理的Android手势左右滑动效果全部内容,希望文章能够帮你解决Android手势左右滑动效果所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:手势滑动