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

スクローラーにアニメーションを追加するかどうかはわかりません。私は間違っているかもしれません。1 つの方法は、Timer と TimerTask を使用してタスクをスケジュールし、scrollTo 値をインクリメント/デクリメントすることです。タスクが実行される間隔を変更して、スクロールを高速化および低速化できます。

于 2011-08-23T11:44:37.323 に答える