gpt4 book ai didi

android - 当我在 Activity 中触摸特定 View 时禁用 dispatchTouchEvent

转载 作者:行者123 更新时间:2023-11-29 00:31:51 26 4
gpt4 key购买 nike

我使用 dispatchTouchEvent 通过以下代码进行滑动手势

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
boolean result = super.dispatchTouchEvent(ev);
// disable the gesture in this screen because we have
return gDetector.onTouchEvent(ev);
}

我想使用 SignatureView 来捕获客户签名 https://github.com/CoatedMoose/CustomViews/blob/master/library/src/com/coatedmoose/customviews/SignatureView.java所以我想在用户单击 SignatureView 时禁用滑动手势,我该怎么做?

最佳答案

我不熟悉 SignatureView 项目,但对于常规 GesturDetector,您可以像下面这样将事件传递给 GestureDetector 仅当它在其“目标”范围内时 View:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {

boolean result = super.dispatchTouchEvent(ev);

if (inSignatureArea(ev)) {
return gDetector.onTouchEvent(ev);
}
else {
return result;
}
}

public boolean inSignatureArea(MotionEvent ev) {
float eventX = ev.getX();
float eventY = ev.getY();
return (eventX > signatureArea.getX() && eventX < (signatureArea.getX() + signatureArea.getWidth())) ;
// && (same thing for Y and height);
}

您应该能够根据自己的需要调整它。

关于android - 当我在 Activity 中触摸特定 View 时禁用 dispatchTouchEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15092988/

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