2013年6月28日金曜日

ViewPagerのスライド速度変更

ViewPagerをフリックした時の画面の切り替わりが遅いと、縦方向のスクロールビュー(リストビュー等)と組み合わせると相性が悪い。
フリックした直後に縦にスクロールしようとしても、スワイプ動作がViewPagerの方に取られてしまうからだ。

スライドのアニメーションの速度を上げればこの問題は解決する。
やり方は下記に書いてあった。
http://stackoverflow.com/questions/8155257/slowing-speed-of-viewpager-controller-in-android

ポイントは
1.自前のScrollerを定義して、startScrollをOverrideし速度を好きな値にする
2.ViewPagerのmScrollerに1で定義したScrollerを使う。
※ただしViewPager::mScrollerはprivateなのでリフレクションを使う必要がある。

ソースコードは上記ページを参照のこと。

0 件のコメント:

コメントを投稿