android-检测不同视图上的手势

android-检测不同视图上的手势,第1张

概述我需要在一个以上的视图检测不同的手势.我的视图需要能够接收点击,双击和拖动事件.我尝试了“手势检测器”,但我的实现仅向我显示了全局手势事件,并且无法将这些事件连接到特定视图.在我的activity.onCreate中:dthandler=newDoubleTapHandler();mDetector=newGe

我需要在一个以上的视图上检测不同的手势.我的视图需要能够接收点击,双击和拖动事件.我尝试了“手势检测器”,但我的实现仅向我显示了全局手势事件,并且无法将这些事件连接到特定视图.

在我的activity.onCreate中:

    dthandler = new DoubleTapHandler();    mDetector = new GestureDetector(this,dthandler);    gestureListener = new VIEw.OntouchListener() {    public boolean ontouch(VIEw v, MotionEvent event) {        Log.d("myLog","touch");        mDetector.ontouchEvent(event);        return false;    }};

在我的活动中,我重写了dispatchtouch函数:

@OverrIDe       public boolean dispatchtouchEvent(MotionEvent me){         this.mDetector.ontouchEvent(me);       return super.dispatchtouchEvent(me);       }

这是我尝试将touchEvent与我的视图联系起来的方式:

prod.setontouchListener(this.gestureListener);

我的DoubleTapHandler:

public class DoubleTapHandler implements OnDoubleTapListener, OnGestureListener {        private ProductVIEw relatedVIEw;        @OverrIDe        public boolean onDoubleTapEvent(MotionEvent e) {               Log.d("myLog", "onDoubleTapEvent");            Log.d("myLog",""+e.getSource());            return false;                              }        @OverrIDe        public boolean onDoubleTap(MotionEvent e) {            Log.d("myLog", "onDoubleTap"+relatedVIEw);            return false;        }        @OverrIDe        public boolean onSingleTapConfirmed(MotionEvent e) {            Log.d("myLog", "singletap");            return false;        }}

有人有建议吗?
谢谢!

解决方法:

要使其正常工作,请将手势直接附加到每个VIEw,然后可以使用不同的实现.

总结

以上是内存溢出为你收集整理的android-检测不同视图上的手势全部内容,希望文章能够帮你解决android-检测不同视图上的手势所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1071320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存