三星Galaxy S4具有“ 浮动触摸 ”功能,即使不触摸屏幕也可以检测到手指。
btn1当手指经过时,我想在按钮()上触发一个事件。
我尝试使用OnHoverListener,但是onHover在需要的事件MotionEventis MotionEvent.ACTION_HOVER_ENTER或MotionEvent.ACTION_HOVER_EXITor 时从未被调用MotionEvent.ACTION_HOVER_MOVE。
这是我的代码:
btn1.setOnHoverListener(new OnHoverListener() {
@Override
public boolean onHover(View v, MotionEvent event) {
Log.d("FloatingTouch", "onHover: "+event.getAction());
switch (event.getAction()) {
case MotionEvent.ACTION_HOVER_ENTER:
Log.d("FloatingTouch", "ACTION_HOVER_ENTER" );
return true;
case MotionEvent.ACTION_HOVER_MOVE:
Log.d("FloatingTouch", "ACTION_HOVER_MOVE" );
return true;
case MotionEvent.ACTION_HOVER_EXIT:
Log.d("FloatingTouch", "ACTION_HOVER_EXIT" );
break;
default:
break;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
我想念什么吗?也许需要许可?