根据Android上的速度拖动更改值

时间:2015-03-05 20:18:14

标签: android

我试图根据滑动手指来改变数字的值。我正在使用ACTION_MOVE在我拖动视图时更改值但是如果我拖动到快速数字几乎没有变化。如果我慢慢拖动,我可以得到正确的数字。

是否有办法根据动作的速度更快地进行更改。我正在研究速度跟踪器,但这只会返回移动的速度,我需要在拖动手指的同时进行更改。

是否需要进行实时检测ACTION_MOVE的优化?

1 个答案:

答案 0 :(得分:0)

现在更像是伪代码,但这就是我要做的事情:

  1. 扩展图像视图以检查事件x值是否在图像视图的起始x值和宽度之间:

    private void checkFingerPosition(int eventXPosition){

    if(eventXPosition > this.X && eventXPosition < this.x + this.getWidth())
        imageInterface.showImage(this.getDrawable());
    

    }

  2. 我会创建您的活动必须实现的界面

    public interface ImageInterface {

    public void showImage(Drawable drawable);
    

    }

  3. 在您的活动中,像这样实现ImageInterface

    实现ImageInterface

    @覆盖 public void showImage(Drawable drawable){     // TODO - 在这里显示drawable }

  4. 然后执行触摸事件ACTION_MOVE,将x值报告给所有图像视图,如下所示:

    ACTION_MOVE:     for(ExtendedImageView extendedImageView:ExtendedImageViewArray){

        entendedImageView.checkFingerPosition(event.X);
    
    }