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() 代码。

任何有关使用它的帮助将不胜感激。网上关于这方面的内容很少。

4

1 回答 1

2

当设备支持鼠标或触摸板时发送悬停事件。当光标悬停在视图上时,这些事件将发送到 onGenericMotionEvent,而不是 onTouchEvent。它们不会帮助您检测未接触电容式触摸屏表面的手指或在不同位置触地然后滑过相关视图的手指。它们永远不会在 API 10 (Android 2.3) 设备上发送。

于 2012-08-22T04:31:58.930 回答