如何animation滚动位置? 如何顺利滚动?

我希望顺利移动到我的自定义视图中的下一个滚动位置(按下button或事件)。 如何实现这个? 首先我看不到滚动animation类(只有alpha,旋转,缩放和翻译)。 其次,有animation类,我不能看到迭代(只要滚动100像素权利,我们有什么位置)只有绝对的(即从一个常量值animation到另一个)。

  • 在浏览片段时正确处理DrawerLayoutanimation
  • Android ImageView连续放大和缩小
  • configuration更改后,片段丢失了过渡animation
  • 如何实施联系人详细信息屏幕,如Lollipop
  • animationandroid的RelativeLayout的变化宽度
  • Androidanimation一个接一个
  • Android查看animation和硬件图层
  • 我的Android初始屏幕应该是什么样的分辨率?
  • 假设你正在使用ScrollView,smoothScrollTo(…)是否适合你?

    http://developer.android.com/reference/android/widget/ScrollView.html#smoothScrollTo%28int,%20int%29

    使用ObjectAnimator,这是一个滚动到顶部的示例:

     public void scroolToTop() { int x = 0; int y = 0; ObjectAnimator xTranslate = ObjectAnimator.ofInt(mScrollView, "scrollX", x); ObjectAnimator yTranslate = ObjectAnimator.ofInt(mScrollView, "scrollY", y); AnimatorSet animators = new AnimatorSet(); animators.setDuration(1000L); animators.playTogether(xTranslate, yTranslate); animators.addListener(new AnimatorListener() { @Override public void onAnimationStart(Animator arg0) { // TODO Auto-generated method stub } @Override public void onAnimationRepeat(Animator arg0) { // TODO Auto-generated method stub } @Override public void onAnimationEnd(Animator arg0) { // TODO Auto-generated method stub } @Override public void onAnimationCancel(Animator arg0) { // TODO Auto-generated method stub } }); animators.start(); } 

    通过使用Scroller / OverScroller (计算滚动偏移的时间插值), GestureDetectors (启动滚动对象)和View的onComputeScroll方法(隐式是您的animation循环)的组合来完成animation滚动。

    官方的android文档现在有一个关于这个话题的详细教程。 http://developer.android.com/training/gestures/scroll.html

    请参阅view_cache_demo示例代码以了解如何执行animation滚动。 它在2D中工作,高速caching复杂的绘图,也可以处理跳跃手势,但是可以根据需要简化所有这些操作。