gpt4 book ai didi

android - action_up 在 action_move 之后不调用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:30 25 4
gpt4 key购买 nike

我有一个动画,可以在触摸时按下按钮。我希望它能够在用户滚动屏幕时保持按下状态。为此,我制作了一个动画,基本上只是将图像保持在相同的状态以调用 ACTION_MOVE。我的问题是,当我释放按钮时,没有调用 ACTION_UP,这是触发动画将按钮恢复到完整大小并且不再看起来被按下的原因。我在 ScrollView 中有整个相对布局。我仍然不完全了解发生了什么,但看起来 ScrollView 可能正在“接管” onTouch 事件。这是我的 onTouchListener 代码。

s104.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
clearAnim();
s104.setAnimation(animPressed);
s104.startAnimation(animPressed);
return true;
case MotionEvent.ACTION_MOVE:
s104.setAnimation(animDrag);
s104.startAnimation(animDrag);
return true;
case MotionEvent.ACTION_UP:

s104.setAnimation(animReleased);
s104.startAnimation(animReleased);

return true;
}
return false;
}
});

我不明白为什么没有调用 ACTION_UP。任何帮助将不胜感激。

最佳答案

I still don't understand fully what's happening, but it appears that the ScrollView may be "taking over" the onTouch events.

没错。您遇到的是 ScrollView“接管”MotionEvent。您可以在 OnTouchListener 中捕获此事件 - 为 MotionEvent.ACTION_CANCEL 添加一个案例。如果用户按下 View (ACTION_DOWN) 并随后向下滚动,您可以在那里确定结果。

关于android - action_up 在 action_move 之后不调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com