亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2017年05月25日 09:23:32   作者:maxcion  
這篇文章主要為大家詳細介紹了Android通過滑動實現Activity跳轉,,講解手勢識別器應用,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

1、創(chuàng)建 GestureDetector對象
2、創(chuàng)建新類繼承SimpleOnGestureListener類(創(chuàng)建 GestureDetecto需要的參數)
3、重寫SimpleOnGestureListener中的OnFling()方法。(滑動手勢監(jiān)聽)
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);
    //這里的第一個參數是上下文,第二個是手勢監(jiān)聽器
    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則動作可以執(zhí)行,如果是flase動作將無法執(zhí)行
      return true;
    }
  }

  @Override
  public boolean onTouchEvent(MotionEvent event) {
    gue.onTouchEvent(event);
    return super.onTouchEvent(event);
  }

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

相關文章

最新評論