国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西城区| 吉林省| 濉溪县| 嘉义县| 宿州市| 康定县| 浦江县| 松桃| 阿拉善盟| 陆丰市| 会泽县| 亚东县| 察隅县| 济南市| 阿城市| 连州市| 长兴县| 民丰县| 星子县| 岳普湖县| 姜堰市| 饶阳县| 漯河市| 青铜峡市| 夏津县| 旬邑县| 二手房| 赤壁市| 芜湖市| 阳新县| 永福县| 即墨市| 甘南县| 台南县| 荥经县| 鄄城县| 彩票| 远安县| 定州市| 洪江市| 睢宁县|