2013-07-28 4 views
7

android 문서에서 4.0 이상 (즉, API 레벨 14 이상)부터 "hover"이벤트를 지원합니다. 하지만 어떻게 든 작동하지 않습니다. 심지어 ApiDemo의 샘플 코드를 사용해 보았습니다. ApiDemo는 Android 샘플에서 제공되는 것으로 작동하지 않았습니다. 현재 사용중인 기기가 Android 4.0.4입니다. 4.2.2로 업그레이드해야합니까?onHoverListener가 Android에서 작동하지 않습니다.

샘플 코드는 다음과 같습니다. 해결책이 있습니까? 고마워.

코드 :


View container = findViewById(R.id.container); 
    container.setOnHoverListener(new View.OnHoverListener() { 
     @Override 
     public boolean onHover(View v, MotionEvent event) { 
      switch (event.getAction()) { 
       case MotionEvent.ACTION_HOVER_ENTER: 
        mMessageTextView.setText(Hover.this.getResources().getString(
          R.string.hover_message_entered_at, 
          event.getX(), event.getY())); 
        break; 
       case MotionEvent.ACTION_HOVER_MOVE: 
        mMessageTextView.setText(Hover.this.getResources().getString(
          R.string.hover_message_moved_at, 
          event.getX(), event.getY())); 
        break; 
       case MotionEvent.ACTION_HOVER_EXIT: 
        mMessageTextView.setText(Hover.this.getResources().getString(
          R.string.hover_message_exited_at, 
          event.getX(), event.getY())); 
        break; 
      } 
      return false; 
     } 
    }); 

답변

9

유혹은 하드웨어에서 지원이 필요합니다. 그것을 지원할 가능성이있는 것은 스타일러스뿐입니다. 손가락만으로는 작동하지 않습니다.

+0

감사합니다. 마우스와도 작동합니까? 예 : Android 기기와 호환되는 블루투스 마우스? –

+0

확실하지 않습니다. 한번도 해보지 않았습니다. 마우스를 움직일 때 마우스를 클릭하지 않는 것이 좋을 수도 있지만, 그렇게하겠다고 맹세 할 수는 없습니다. –

+0

이 업데이트로 일부 장치는 이제 단일 손가락 호버를 감지 할 수 있습니다. 하지만 실제로는 노트와 같은 최상위 장치 만 있습니다. 당신은 그것에 의존 할 수 없습니다. –

0

설정에서 '접근성'및 '터치하여 탐색'기능을 사용하는 것이 좋습니다. 이러한 기능을 사용하지 않으면 마우스 오버 조치가 터치 동작으로 처리됩니다.

1

OnFocusChangeListener()을 사용해보세요. PS가 나를 위해 일했습니다

관련 문제