我试图根据滑动手指来改变数字的值。我正在使用ACTION_MOVE在我拖动视图时更改值但是如果我拖动到快速数字几乎没有变化。如果我慢慢拖动,我可以得到正确的数字。
是否有办法根据动作的速度更快地进行更改。我正在研究速度跟踪器,但这只会返回移动的速度,我需要在拖动手指的同时进行更改。
是否需要进行实时检测ACTION_MOVE的优化?
答案 0 :(得分:0)
现在更像是伪代码,但这就是我要做的事情:
扩展图像视图以检查事件x值是否在图像视图的起始x值和宽度之间:
private void checkFingerPosition(int eventXPosition){
if(eventXPosition > this.X && eventXPosition < this.x + this.getWidth())
imageInterface.showImage(this.getDrawable());
}
我会创建您的活动必须实现的界面
public interface ImageInterface {
public void showImage(Drawable drawable);
}
在您的活动中,像这样实现ImageInterface
实现ImageInterface
@覆盖 public void showImage(Drawable drawable){ // TODO - 在这里显示drawable }
然后执行触摸事件ACTION_MOVE,将x值报告给所有图像视图,如下所示:
ACTION_MOVE: for(ExtendedImageView extendedImageView:ExtendedImageViewArray){
entendedImageView.checkFingerPosition(event.X);
}