【Android】リストビューの自動スクロール機能を実装する


長い記事や掲示板を読むようなアプリに、ユーザーが手を離していても自動でスクロールできる機能をあれば便利だ。というわけで今回は、ListViewをコンポジットして自動スクロールさせるクラスを実装する。

AutoScroller.java

コードはかなり短い。

Handlerを使用して、スクロール処理を定期的に実行しつづけている。

呼び出し側は次のような感じになる。

スピードを変更する場合はコンストラクタで scrollByを指定すればよい。大きくすれば速くなる。また DURATIONを変更すれば実行間隔を変更できる。色々試したみた結果、50msぐらいだとスムーズにスクロールする。ただこのあたりは端末のパワーにも依存するのかもしれない。

なお、然るべきタイミングで stop()を呼び出すのを忘れないように。基本的には、ActivityやFragmentの onPauseあたりで呼び出すことになるのかな。

関連する記事


コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください