我一直在使用扩展视图处理一个非常简单的小应用程序.问题是我找不到我的onTouchEvent中的内容.我已经明白我要将压力点(x和y)与元素进行比较,看看它可能是哪一个.
但是......我已经宣布了一个矩形:
Paint color= new Paint();
color.setColor(Color.BLACK);
rectF = new RectF(0.0f, 0.0f, 1.0f, 0.5f) ;
canvas.drawRect(rectF, color);
Run Code Online (Sandbox Code Playgroud)
到目前为止这么好,但在onTouchEvent函数中
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction() ;
float x = event.getX() ;
float y = event.getY() ;
switch(action) {
case MotionEvent.ACTION_DOWN:
if(rectF().contains(x, y)) {
// Something should happen
}
}
invalidate();
return true ;
}
Run Code Online (Sandbox Code Playgroud)
我将rectF设置为0-1范围内的某种相对点,但是根据屏幕大小,X和Y从事件范围从0开始向上.
我可以轻松转换其中任何一个值吗?
编辑
以为有人对最终解决方案感兴趣......
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction() ;
float x = event.getX() ;
float y = event.getY() ; …Run Code Online (Sandbox Code Playgroud)