在setOnTouchListener()中返回false时,motionEvent.action_move不工作的原因是,返回false表示当前的触摸事件没有被消费,会继续传递给下一层的View处理。因此,如果在setOnTouchListener()中返回false,motionEvent.action_move事件将不会被触发。
通常情况下,我们在setOnTouchListener()中返回true,表示当前的触摸事件已经被消费,不再传递给其他View处理。这样可以确保motionEvent.action_move事件能够正常工作。
如果你希望在setOnTouchListener()中返回false,并且仍然需要处理motionEvent.action_move事件,可以考虑在setOnTouchListener()中手动处理motionEvent.action_move事件。你可以通过在onTouch()方法中判断触摸事件的类型,然后执行相应的逻辑来处理motionEvent.action_move事件。
例如,你可以在onTouch()方法中使用switch语句来处理不同类型的触摸事件:
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 处理按下事件
return true;
case MotionEvent.ACTION_MOVE:
// 处理移动事件
// ...
return true;
case MotionEvent.ACTION_UP:
// 处理抬起事件
return true;
}
return false;
}
});
在处理motionEvent.action_move事件时,你可以根据具体需求进行相应的操作,比如更新UI界面、执行动画效果等。
关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议你参考腾讯云官方文档或者咨询腾讯云的技术支持团队,获取与你的需求相匹配的产品和解决方案。
领取专属 10元无门槛券
手把手带您无忧上云