Android 有效使用视图上的触摸/悬停坐标

Android 有效使用视图上的触摸/悬停坐标,android,operating-system,screen,coordinate,Android,Operating System,Screen,Coordinate,在安卓手机上,我得到了坐标信息,用户可以在他/她的手机屏幕或设备上触摸坐标。然后,如何使用/传递这些X-Y坐标来运行我的特定功能,并在我的代码中使用它,如果用户触摸应用程序上的屏幕,您可以获得坐标。在您实现触控式侦听器之后,然后在if语句MotionEvent.ACTION\u UP中将其放在那里 float myX = event.getX(); float myY = event.getY(); // now you can then pass myX,myY in your meth

在安卓手机上,我得到了坐标信息,用户可以在他/她的手机屏幕或设备上触摸坐标。然后,如何使用/传递这些X-Y坐标来运行我的特定功能,并在我的代码中使用它,如果用户触摸应用程序上的屏幕,您可以获得坐标。在您实现触控式侦听器之后,然后在
if
语句
MotionEvent.ACTION\u UP
中将其放在那里

 float myX = event.getX();
 float myY = event.getY();
 // now you can then pass myX,myY in your method or function as parameters
如果您恰好针对的是
API14+
,那么您可以使用
onhover
,方法与那篇文章中的第一个方法相同,而不是使用
setOnTouchListener
use
getWindow().getDecorView().setOnHoverListener()

一个旁注是使用第一个更好,因为onHover不能被信任工作,实际上它对我不起作用,这只是顺便说一句


希望我能回答您的问题。

您可以通过扩展android view并重写onTouchEvent方法来创建自定义视图。比如说,

public class NotTouchableWebView extends WebView {
private Context context;

public NotTouchableWebView(Context context) {
    super(context);
    this.context=context;
}

public NotTouchableWebView(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.context=context;
}

public NotTouchableWebView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    this.context=context;
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public NotTouchableWebView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    super(context, attrs, defStyleAttr, defStyleRes);
    this.context=context;
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (some condition){
        //your specific function
        return false;
    }
    return super.onTouchEvent(event);
}

}

例如:用户希望在位置(20,20)处触摸屏。我不会在screen real上按(20,20),但是我想使用(20,20)作为函数的参数,让操作系统知道我想按(20,20),然后应用程序将像我按(20,20)一样运行活动。我重新编写了你的问题,请检查它是否适合你的需要,或者检查我是否对你最感兴趣。对于你的问题,我将尝试发布一个答案