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

首頁 > 系統 > Android > 正文

Android通過滑動實現Activity跳轉(手勢識別器應用)

2019-12-12 02:49:19
字體:
來源:轉載
供稿:網友

通過手勢識別器實現界面的轉跳,具體內容如下

1、創建 GestureDetector對象
2、創建新類繼承SimpleOnGestureListener類(創建 GestureDetecto需要的參數)
3、重寫SimpleOnGestureListener中的OnFling()方法。(滑動手勢監聽)
4、重寫界面的OntouchEvent方法
5、通過 GestureDetector對象的onTouchEvent()添加事件

代碼如下:

public abstract class BaseActivity extends AppCompatActivity {  private GestureDetector gue;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_base);    //這里的第一個參數是上下文,第二個是手勢監聽器    gue = new GestureDetector(this, new MyGestureListener());  }  class MyGestureListener extends GestureDetector.SimpleOnGestureListener {//onFling方法的第一個參數是 手指按下的位置, 第二個參數是 手指松開的位置,第三個參數是手指的速度     @Override    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {      float startX = e1.getX();//通過e1.getX()獲得手指按下位置的橫坐標      float endX = e2.getX();//通過e2.getX()獲得手指松開位置的橫坐標      float startY = e1.getY();//通過e1.getY()獲得手指按下位置的縱坐標      float endY = e2.getY();//通過e2.getY()獲得手指松開的縱坐標      if ((startX - endX) > 50 && Math.abs(startY - endY) < 200) {      //(startX - endX) > 50 是手指從按下到松開的橫坐標距離大于50      // Math.abs(startY - endY) < 200 是手指從按下到松開的縱坐標的差的絕對值        //在這里通過Intent實現界面轉跳      }      if ((endX - startX) > 50 && Math.abs(startY - endY) <200) {        //在這里通過Intent實現界面轉跳      }//返回值是重點:如果返回值是true則動作可以執行,如果是flase動作將無法執行      return true;    }  }  @Override  public boolean onTouchEvent(MotionEvent event) {    gue.onTouchEvent(event);    return super.onTouchEvent(event);  }

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广平县| 福建省| 左贡县| 德州市| 朝阳县| 漳平市| 南京市| 兴宁市| 阜城县| 新干县| 丰城市| 博白县| 保德县| 太仓市| 搜索| 从化市| 连城县| 阿图什市| 博爱县| 罗山县| 东丰县| 江川县| 全州县| 茶陵县| 屏东县| 金阳县| 连南| 芦溪县| 融水| 常熟市| 苍山县| 卓尼县| 江华| 温泉县| 从化市| 河津市| 阳朔县| 新津县| 雷波县| 五常市| 西林县|