自定义View确定点击位置
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (widthMeasureSpec < heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
} else {
super.onMeasure(heightMeasureSpec, heightMeasureSpec);
}
width = getWidth();
height = getHeight();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
float x = event.getX();
float y = event.getY();
showToast("长是" + width + "宽是" + height + ",点击的x是" + (int) x + "y是" + (int) y);
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
onMeasure确定长宽相等,
这里的长宽是控件的长宽
点击之后,获取x和y,这里的xy也是在控件之内的,而不是屏幕的
比如点击控件的左上角是0,0
但是控件不在屏幕的0,0