关于mapview的动画滚动,我们可以通过以下几个方面来实现按像素滚动而不是拉长:
scrollBy()
方法来按像素滚动,而不是使用scrollTo()
方法来拉长滚动。Scroller
类来控制滚动速度,例如:Scroller scroller = new Scroller(context);
scroller.startScroll(startX, startY, dx, dy, duration);
ViewPropertyAnimator
类来实现滚动动画:ViewPropertyAnimator
类可以帮助我们更好地控制视图的动画效果,例如:View view = findViewById(R.id.mapview);
view.animate().translationXBy(dx).translationYBy(dy).setDuration(duration);
ObjectAnimator
类来实现滚动动画:ObjectAnimator
类可以帮助我们更好地控制视图的动画效果,例如:ObjectAnimator animatorX = ObjectAnimator.ofFloat(view, "translationX", startX, endX);
ObjectAnimator animatorY = ObjectAnimator.ofFloat(view, "translationY", startY, endY);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(animatorX, animatorY);
animatorSet.setDuration(duration);
animatorSet.start();
总之,要实现mapview的动画滚动按像素而不是拉长,需要使用正确的滚动方法,控制滚动速度,并使用动画类来实现滚动效果。
领取专属 10元无门槛券
手把手带您无忧上云