问题描述
- 我是个菜鸟哪位大神帮我看看这个代码为什么怎么点击都不会执行下面的else 急急急
-
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为打印值
解决方案三:
点击别的地方没有办法获取坐标
时间: 2024-09-20 19:43:56