gpt4 book ai didi

android - 拖过一个安卓按钮

转载 作者:行者123 更新时间:2023-11-30 04:39:58 24 4
gpt4 key购买 nike

如果用户拖动它并在其上松开手指,除了单击和释放时的标准激活之外,我还希望触发一个 android 按钮。

我试图使用 ACTION_MOVE MotionEvent,但此事件仅在 ACTION_DOWN 和 ACTION_UP 事件之间触发。我也认为 ACTION_OUTSIDE 可能是一个解决方案。有办法做到这一点吗?

这是我的代码,其中删除了所采取的操作(b 是一个按钮):

b.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {

if (event.getAction()== MotionEvent.ACTION_DOWN){
//Tiggers correctly
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
//Triggers correctly between events, but not when the finger is dragged ontop outside of the element
} else if (event.getAction() == MotionEvent.ACTION_OUTSIDE){
//Can't get this to trigger in any case but I think it might be the solution
} else if (event.getAction() == MotionEvent.ACTION_UP){
//Triggers correctly
}
}
return false;
}
});

最佳答案

ACTION_OUTSIDE 只有当你的触摸区域被 ViewRoot 扩展时才会被触发。

如果你考虑拖动,你有 2 个选项,但对于它们你都可以检测矩形,你的按钮位于屏幕上的位置 View.getHitRect(Rect) 然后,根据这些知识你可以决定 MotionEvent 是否在里面是否正确。

否则您可以创建 DragLayer 并在那里实现所有逻辑。

关于android - 拖过一个安卓按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6162583/

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