gpt4 book ai didi

android-imageview - 将 ScaleGestureDetector 与 GestureDetector 一起使用?

转载 作者:行者123 更新时间:2023-12-04 14:02:40 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我有一个 ImageView我希望用户能够将其向左/向右/向上/向下滑动以将图像(静态 map )更改为相邻的图像。但此外,我想要捏缩放功能和 map 本身。

我可以使用甩动或捏合缩放来工作,但不能一起工作。我正在使用 GestureDetector (带有 SimpleOnGestureListener )用于抛掷。我正在使用 ScaleGestureDetector (来自 Making Sense of Multitouch )用于缩放。

难点在于确定在触摸 Action 时调用哪个手势监听器。这不是编码问题,而是逻辑问题。单指触摸 Action 时,是甩动还是缩放?即使使用双指缩放,初始 MotionEvent是 ACTION_DOWN。我一直在尝试使用图像大小(内在或缩放?)作为决策点。但是 ACTION_DOWN 的初始缩放操作(当图像大小是固有的并且我想放大它时)似乎逃脱了我。

以前有人成功解决过这个问题吗?

最佳答案

您可以将事件传递给两个手势检测器。

查询 http://developer.android.com/training/gestures/scale.html在“更复杂的缩放示例”下:

public boolean onTouchEvent(MotionEvent event) {
boolean retVal = mScaleGestureDetector.onTouchEvent(event);
retVal = mGestureDetector.onTouchEvent(event) || retVal;
return retVal || super.onTouchEvent(event);
}

当然,考虑到 Ratatat 引用的错误,在上面的示例中永远不会调用 super.onTouchEvent,这可能好也可能不好,具体取决于您的用例。

关于android-imageview - 将 ScaleGestureDetector 与 GestureDetector 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309743/

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