Nif*_*hel 5 android hover galaxy samsung-mobile
三星Galaxy S4具有“ 浮动触摸 ”功能,即使不触摸屏幕也可以检测到手指。
btn1
当手指经过时,我想在按钮()上触发一个事件。
我尝试使用OnHoverListener
,但是onHover
在需要的事件MotionEvent
is MotionEvent.ACTION_HOVER_ENTER
或MotionEvent.ACTION_HOVER_EXIT
or 时从未被调用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)
我想念什么吗?也许需要许可?
好吧,我终于明白了!
为了让它发挥作用,你必须:
com.sec.android.airview.HOVER
在清单中为您的 Activity添加一个新的意图过滤器:<intent-filter>
<action android:name="com.sec.android.airview.HOVER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
onHoverListener
给你添加一个View
convertView.setOnHoverListener(new OnHoverListener() {
@Override
public boolean onHover(View v, MotionEvent event) {
Log.d("ListAdapter", "Hover: " + item);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
它会起作用的。
归档时间: |
|
查看次数: |
3142 次 |
最近记录: |