0

Android で MotionEventCompat を使用する方法の例を探しています。API レベル 10 を使用していますが、指がビューに「ホバリング」または「ドラッグ」している場合はサポートされていません。できればビュー自体から、これを検出する必要があります。これをどのように使用しようとしているかに関するコードスニペットを次に示します。

**my class:** 
 import android.support.v4.view.MotionEventCompat;
        public class GridButton extends View 

    overriding onTouchEvent:
            @Override
        public boolean onTouchEvent(MotionEvent event) {
            super.onTouchEvent(event);
            switch (event.getAction() & MotionEventCompat.ACTION_MASK) {
            case (MotionEvent.ACTION_DOWN): {
                set_active(true);
                return true;
            }
            case (MotionEventCompat.ACTION_HOVER_ENTER): {
                set_active(true);
                break;
            }
            }
            return false;
        }

MotionEventCompat.ACTION_MASK は、どこかで見つけた例に基づいていますが、set_active() のコードをトリガーしません。

これを使用する上での助けをいただければ幸いです。これについては、Web 上にはほとんどありません。

4

1 に答える 1

2

デバイスがマウスまたはタッチパッドをサポートしている場合、ホバー イベントが送信されます。カーソルがビューの上に置かれると、これらのイベントは onTouchEvent ではなく onGenericMotionEvent に送信されます。静電容量式タッチスクリーンの表面に触れていない指や、別の位置に触れてから問題のビュー上を滑った指を検出するのには役立ちません。API 10 (Android 2.3) デバイスでは送信されません。

于 2012-08-22T04:31:58.930 に答える