gpt4 book ai didi

android - 如何检测手指是否已经在启动新 Activity 的按钮上

转载 作者:行者123 更新时间:2023-11-29 18:05:37 25 4
gpt4 key购买 nike

场景是例如用户长按Activity AActivity A 在 lonkclick 上启动 Activity B 而用户没有抬起手指。Activity B 应该检测到用户仍在触摸屏幕。

我试图通过...实现它

Activity A

ButtonA.setOnLongClickListener(new OnLongClickListener() {

@Override
public boolean onLongClick(View v) {
startActivityForResult(new Intent(ActivityA.this, ActivityB.class), REQUEST_1);
return true;
}
});

Activity B中...

ButtonB.setOnTouchListener(new OnTouchListener() {
int oldEvent = -1;

@Override
public boolean onTouch(View v, MotionEvent event) {
if (oldEvent != event.getAction()) {
oldEvent = event.getAction();
Toast.makeText(ActivityB.this, event.getAction() + "", Toast.LENGTH_SHORT).show();
}
return true;
}
});

例如,ButtonA 和 ButtonB 在屏幕上的相同位置。绝对/

但是当 ActivityB 启动时,ButtonB 没有事件。既不是 ACTION_DOWN,也不是 ACTION_UP,没有其他。通常我想在 ButtonB 上收到 ACTION_UP :-)

最佳答案

如果在您开始 Activity 时手指已经在屏幕上,您将不会获得 ACTION_DOWN。你也不会得到 ACTION_UP,因为还没有 ACTION_DOWN。也许你有自己的理由这样做,但一般用户应该能够取消操作,因此按钮应该在点击时使用react(在同一个对象上向下然后向上)。如果在按下时发生 Action ,则用户无法取消它(即通过将手指移出对象并抬起它)。

关于android - 如何检测手指是否已经在启动新 Activity 的按钮上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13562482/

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