国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android手勢左右滑動效果

2019-10-22 18:23:45
字體:
來源:轉載
供稿:網友

最近想實現Android左滑彈出菜單框,右滑消失菜單這個個功能。了解了一下Android 的滑動事件,必須是在view組件或者Activity上實現,同時必須實現OnTouchListener, OnGestureListener這個兩個接口。

public class MyRelativeLayout extends RelativeLayout implements GestureDetector.OnGestureListener{  private float mPosX, mPosY, mCurPosX, 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, MotionEvent e2, 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;     } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平罗县| 隆尧县| 巧家县| 汤原县| 团风县| 腾冲县| 盘锦市| 师宗县| 邯郸市| 湖州市| 偃师市| 万盛区| 尉氏县| 南投市| 贡嘎县| 突泉县| 台湾省| 郴州市| 邢台县| 珲春市| 丰顺县| 昌江| 榆社县| 瑞昌市| 宣城市| 洪雅县| 青海省| 安新县| 北票市| 汉阴县| 周至县| 杭锦后旗| 祁连县| 太仓市| 五台县| 永修县| 商城县| 桐柏县| 崇左市| 余庆县| 中牟县|