2017-09-27 8 views
0

많은 것들이 있어도 내 활동에서 어떤 제스처라도 감지 할 수 있나요? (Layouts, Images, RecyclerViews 등). 언제든지 할 수있는 제스처를 만들려고합니다. 가능합니까?무언가에 대한 제스처 감지

findViewById(android.R.id.content).setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       Log.e("GESTURE", "GESTURE"); 
       return false; 
      } 
     }); 

을하지만 그것은 작동하지 않습니다 :

나는 이것을 시도했습니다. 나는 다른 사람들이보기 때문에 이벤트를 가로 채고 있기 때문이라고 생각합니다.

Idk는 창과 같이 활동 위에있는 제스처를 감지 할 수 있습니까?

감사합니다.

답변

1

하지만 조금 까다 롭습니다. 터치 핸들링, 특히 onInterceptTouchEvent을 읽으십시오.이 핸들은 부모에게 사용되어 아이들에게 전달되는 터치를 가로 챌 수 있습니다.

(사용자 지정) 루트보기에서 해당 방법을 구현 한 다음 거기에서 제스처 마법을 수행합니다.

여기에 몇 가지 유용한 정보가 있습니다. Android: Difference between onInterceptTouchEvent and dispatchTouchEvent?

+0

필자는 필자의 작업에서 "dispatchTouchEvent"메서드를 재정의 (override)합니다. 고맙습니다! –