1

我正在尝试为 Scrollview 设置动画。特别是 SmoothScrollTo(x,y) 函数。关于我如何解决这个问题的任何想法。谢谢

 ScrollView scroller = (ScrollView) findViewById(R.id.scroller);
 if(true){
       scroller.smoothScrollTo(0,30);
       animation anim = AnimationUtils.loadAnimation(this, R.anim.down);
       anim.setFillAfter(true);
       scroller.startAnimation(anim);


 } else{
           .....
 }
4

2 回答 2

1

如果要实现平滑滚动,则无需为滚动设置动画。使用反射来设置您自己的自定义滚动器和插值器。

像这样的东西:

Field mScroller;
mScroller = ScrollView.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);

CustomScroller scroller = new CustomScroller(getContext(), new AccelerateInterpolator());
mScroller.set(this, scroller);

环绕尝试/捕捉,然后就可以了。

用户 smoothScrollTo 方法。

于 2013-05-31T22:15:55.470 回答
0

我不确定您是否向滚动条添加动画。我可能错了。一种方法是使用 Timer 和 TimerTask 来安排任务来增加/减少 scrollTo 值。您可以改变任务执行的时间间隔以加快和减慢滚动速度。

于 2011-08-23T11:44:37.323 回答