Android 는 미끄럼 을 통 해 Activity 점프 를 실현 합 니 다(제스처 식별 기 응용)

제스처 식별 기 를 통 해 인터페이스의 점프 를 실현 하고 구체 적 인 내용 은 다음 과 같다.
1.GestureDetector 대상 생 성
2.SimpleOnGestureListener 클래스 계승 새 클래스 만 들 기(GestureDetecto 에 필요 한 인자 만 들 기)
3.Simple OnGesture Listener 의 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);
  }
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기