欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android通過(guò)滑動(dòng)實(shí)現(xiàn)Activity跳轉(zhuǎn)(手勢(shì)識(shí)別器應(yīng)用)

 更新時(shí)間:2017年05月25日 09:23:32   作者:maxcion  
這篇文章主要為大家詳細(xì)介紹了Android通過(guò)滑動(dòng)實(shí)現(xiàn)Activity跳轉(zhuǎn),,講解手勢(shì)識(shí)別器應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

通過(guò)手勢(shì)識(shí)別器實(shí)現(xiàn)界面的轉(zhuǎn)跳,具體內(nèi)容如下

1、創(chuàng)建 GestureDetector對(duì)象
2、創(chuàng)建新類(lèi)繼承SimpleOnGestureListener類(lèi)(創(chuàng)建 GestureDetecto需要的參數(shù))
3、重寫(xiě)SimpleOnGestureListener中的OnFling()方法。(滑動(dòng)手勢(shì)監(jiān)聽(tīng))
4、重寫(xiě)界面的OntouchEvent方法
5、通過(guò) GestureDetector對(duì)象的onTouchEvent()添加事件

代碼如下:

public abstract class BaseActivity extends AppCompatActivity {

  private GestureDetector gue;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_base);
    //這里的第一個(gè)參數(shù)是上下文,第二個(gè)是手勢(shì)監(jiān)聽(tīng)器
    gue = new GestureDetector(this, new MyGestureListener());
  }

  class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
//onFling方法的第一個(gè)參數(shù)是 手指按下的位置, 第二個(gè)參數(shù)是 手指松開(kāi)的位置,第三個(gè)參數(shù)是手指的速度 

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
      float startX = e1.getX();//通過(guò)e1.getX()獲得手指按下位置的橫坐標(biāo)
      float endX = e2.getX();//通過(guò)e2.getX()獲得手指松開(kāi)位置的橫坐標(biāo)
      float startY = e1.getY();//通過(guò)e1.getY()獲得手指按下位置的縱坐標(biāo)
      float endY = e2.getY();//通過(guò)e2.getY()獲得手指松開(kāi)的縱坐標(biāo)
      if ((startX - endX) > 50 && Math.abs(startY - endY) < 200) {
      //(startX - endX) > 50 是手指從按下到松開(kāi)的橫坐標(biāo)距離大于50
      // Math.abs(startY - endY) < 200 是手指從按下到松開(kāi)的縱坐標(biāo)的差的絕對(duì)值

        //在這里通過(guò)Intent實(shí)現(xiàn)界面轉(zhuǎn)跳
      }

      if ((endX - startX) > 50 && Math.abs(startY - endY) <200) {
        //在這里通過(guò)Intent實(shí)現(xiàn)界面轉(zhuǎn)跳
      }
//返回值是重點(diǎn):如果返回值是true則動(dòng)作可以執(zhí)行,如果是flase動(dòng)作將無(wú)法執(zhí)行
      return true;
    }
  }

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論