Android OnTouchListener导致不稳定的拖动

Android OnTouchListener导致不稳定的拖动,第1张

概述我有一个按钮(在代码中变量theButton),并希望能够在其父视图中拖动它.这是它的OnTouchListener:OnTouchListenertouchBListener=newView.OnTouchListener(){publicfloatoffsetX;publicfloatoffsetY;@Overridepubl

我有一个按钮(在代码中变量thebutton),并希望能够在其父视图中拖动它.
这是它的OntouchListener:

    OntouchListener touchBListener = new VIEw.OntouchListener()     {               public float offsetX;        public float offsetY;        @OverrIDe        public boolean ontouch(VIEw v, MotionEvent event)         {            int theAction = event.getAction();            switch (theAction)            {                case MotionEvent.ACTION_DOWN:                    // button down                    offsetX = thebutton.getX() - event.getX();                    offsetY = thebutton.getY() - event.getY();                    break;                case MotionEvent.ACTION_MOVE:                    // button moved                    float newX = event.getX() + offsetX;                    float newY = event.getY() + offsetY;                    v.setX(newX);                    v.setY(newY);                    break;                case MotionEvent.ACTION_UP:                    // button up                    break;                default:                    break;            }            return true;        }    };    thebutton.setontouchListener(touchBListener);

当我拖动按钮时,它会在拖动的大致方向上移动,但它会在拖动之前的“当前”点和一个点之间来回跳跃.由于某种原因,当阻力向右上方移动时,跳跃会更大.

使用OntouchListener是否可以“平滑”拖动,或者我是否需要使用OnDragListener?

解决方法:

我在另一篇文章中找到了答案 – 当我将event.getX()和event.getY()更改为event.getRawX()和event.getRawY()时,拖动是平滑的.

总结

以上是内存溢出为你收集整理的Android OnTouchListener导致不稳定的拖动全部内容,希望文章能够帮你解决Android OnTouchListener导致不稳定的拖动所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1110301.html

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

发表评论

登录后才能评论

评论列表(0条)

保存