2012-05-04 11 views
0

コンテンツにさまざまな変更を加え、タッチしたときに表示し、指が戻ったときに元に戻すコンポーネントがあります。以下は一般的に動作しますが、持ち上げる前にユーザーの指がコンポーネント自体から離れている場合は、ACTION_UPは決して起動しないので、決して「アップ」状態に戻りません。Android - シンプルタッチイベント管理

public class MyComponent extends SomeLayout { 
    // ... stuff 
    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     final int action = event.getAction() & MotionEvent.ACTION_MASK; 
     switch (action) { 
     case MotionEvent.ACTION_DOWN : 
      // do something... 
      break;   
     case MotionEvent.ACTION_UP : 
      // do something else... 
      break;  
     } 
     return super.onTouchEvent(event); 
    } 
} 

このViewGroupは複雑なコンテンツを持ち、StateDrawablesには適していません。

提案がありますか?将来サーチャーのための

TYIA

答えて

0

、答えは... ACTION_CANCELある

public class MyComponent extends SomeLayout { 
    // ... stuff 
    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     final int action = event.getAction() & MotionEvent.ACTION_MASK; 
     switch (action) { 
     case MotionEvent.ACTION_DOWN : 
      // do something... 
      break;   
     case MotionEvent.ACTION_UP : 
     case MotionEvent.ACTION_CANCEL : 
      // do something else... 
      break;  
     } 
     return super.onTouchEvent(event); 
    } 
} 
関連する問題