0

この回答を使用textViewしてアプリにマーキーを実装していますが、の期間を設定せずにマーキーの速度を変更できるようにしたいと考えていScrollerます。の期間を設定するScrollerと、テキストの速度はテキストの量に依存しますが、速度を一定にすることが必要です。これを行う方法はありますか?そうでない場合、テキストを特定の速度で自動的にスクロールさせる他の方法はありますか?

4

1 に答える 1

2

あなたはコードを誤解しています。

スクローラーの期間を設定する必要があります。そうしないと、どのくらいの時間がかかるかがわかります。

したがって、スクローラーの速度を一定にする必要があります。

だがvelocity = distance / duration

したがって、その定数を作成する方法は、期間を距離の関数にすることです。

たとえば。もしもduration =2* distance

velocity= 2

等々。

あなたが投稿したコードから

     int distance = scrollingLen - (getWidth() + mXPaused);
     int duration = (new Double(mRndDuration * distance * 1.00000
                                  / scrollingLen)).intValue();

duration= distance * constant /scrollingLen

したがって、を削除するだけscrollingLenで、距離の純粋関数になり、一定の速度が得られます。

duration= distance * constant /anotherConstant
于 2013-01-06T08:03:34.150 に答える