2015-01-03 3 views
0

나는이 질문을 봤지만 정확한 해결책을 얻지 못했습니다. Google Glass에서 스 와이프 옵션을 사용하려면 어떻게해야하나요? 안드로이드 전화에서 조각은 더 이상 아무것도하지 않고 작동하지만 Google Glass에서는 코드를 작성해야합니다. this site에서 간단한 조각 활동을 얻습니다. 스 와이프하여 Google Glass에서 사용하고 싶습니다. (제스처 감지기가 해결책 일 수도 있지만 올바르게 적용되지 않았습니다.) 실마리를주십시오.Google Glass에서 조각 사이를 스 와이프하는 방법

답변

1

조각 사이를 스 와이프하여 무슨 뜻인지 잘 모르겠습니다. 물론 정상적인 안드로이드 폰에서 작동하는 모든 종류의 제스처는 Glass - Glass에는 작동하지 않습니다. 터치 스크린이 없습니다. 터치 센서이기 때문에 (우리의 목적을 위해) 탭하는 위치를 감지하지 못하고 오히려 얼마나 멀리, 얼마나 빨리, 어느 방향으로 슬라이드 또는 탭하는지 감지합니다.

내가이 질문에서 대답 할 수있는 유일한 방법은 GestureDetector을 만드는 방법입니다. 이것은 내 프로젝트에서 어떻게 수행합니까?

public class EXAMPLE { 
    private GestureDetector gestureDetector; 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     gestureDetector = createGestureDetector(this); 

    } 
    private GestureDetector createGestureDetector(Context context) { 
     GestureDetector gestureDetectorTemp = new GestureDetector(context, new GestureDetector.OnGestureListener() { 
      @Override 
      public boolean onDown(MotionEvent motionEvent) { 
       return false; 
      } 

      @Override 
      public void onShowPress(MotionEvent motionEvent) { 
       return false; 
      } 

      @Override 
      public boolean onSingleTapUp(MotionEvent motionEvent) { 
       return false; 
      } 
      @Override 
      public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent2, float distanceX, float distanceY) { 
       return false; 
      } 
      @Override 
      public void onLongPress(MotionEvent motionEvent) { 
      } 
      @Override 
      public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) { 
      return false; 
      } 
     }); 
     return gestureDetectorTemp; 
    } 

    @Override 
    public boolean onGenericMotionEvent(MotionEvent event) { 
     if (gestureDetector != null) { 
      return gestureDetector.onTouchEvent(event); 
     } 
     return false; 
    } 
} 

마지막 부분은 매우 중요합니다. 일반적인 모션 이벤트에서 gestureDetector가 null이 아닌 경우 처리를 위해 gestureDetector를 통해 이벤트를 보냅니다.

return 문구 뜻을 명심하십시오. 특정 이벤트를 처리 할 수있는 유일한 사람이 되려면 return true;이어야합니다. 즉, 이벤트를 처리했으며 다른 기본 메소드는 통지되지 않습니다. 그렇지 않으면 return false;, 다른 방법을 알릴 수 있음을 나타냅니다.

+0

죄송합니다. 마침내 몸짓 제명자와 함께했습니다. 코드는 코드와 함께 매우 유사하지만 Google의 [code] (https://developers.google.com/glass/develop/gdk/touch) 코드에 오류가 표시되지 않습니다. – Jaky71