iv.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// AB| = √[(x₁-x₂)²+(y₁-y₂)²],换成x₂-x₁和y₂-y₁
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if ((event.getX() > -width / 2 || event.getX() < width / 2)
&& (event.getY() < -height / 2
|| event.getY() >height / 2)) {
stoptdonghua();
}else{
stoptdonghua();
}
break;
case MotionEvent.ACTION_UP:
if ((event.getX() > -width / 2 || event.getX() < width / 2)
&& (event.getY() < -height / 2
|| event.getY() > height / 2)){
stoptdonghua();
}else{
stoptdonghua();
}
break;
default:
break;
}
return false;
}
});
说明表达式里返回值为true,需要检查一下event.getX()和width的值是不是预期想要的!
logcat里面打印一下event.getX()和width的值
语法:Log.i(TAG, value); Tag是自定义的字符串,value为打印值
点击别的地方没有办法获取坐标