Android ViewPagerIndicatorを使ってみた
https://github.com/JakeWharton/Android-ViewPagerIndicator
PagerSlidingTabStripと似ているんだが、どっちかと言えばこっちがメジャーなのかな。ActionBarSherlockの開発者の方がこちらも開発されている模様で
ざっくりと書くと
- CirclePageIndicator: 現在のViewPagerのインディケーターをサークル(円)で表現
- LinePageIndicator: 線で表現
- TitlePageIndicator: PagerTitleStripのような感じ。インディケーターをbottom配置にする事も出来て、その際のインディケーターラインを下から上に表示させるようにしたりも出来る。IconPageAdapterを実装してもタイトルにアイコンは表示されない (っていうかサポートされてないかと)
- TabPageIndicator: PagerTabStripのような感じ。TitlePageIndicator同様にインディケーター自体をbottom配置にすることは出来るが、その際のインディケーターラインの位置は調整出来ない模様。IconPageAdapterを実装する事によりタイトルと同時にアイコンを出す事も出来る
まぁざっくり書くとこういう感じになる。ちなみに1画面に複数を定義するのも出来るけど、スクロールにより前者に定義した方が作用しなくなる。例えば上にTabPageIndicatorを出して、下にCirclePageIndicatorを出してActivityでその順序でsetViewPagerをするとCircleな方はスクロールによる反応するが前者のTabな方はインディケーターが反応しない模様(何か間違ってるのかは不明だし、サポートされているのかも不明)
で上でも書いてるようにIconPageAdapterインターフェースをPageAdapterなクラスに実装する事で、TabPageIndicatorを使用している際にタイトルと共にアイコンを表示させる事が出来る。実装はgetIconResIdでアイコンのリソースIDを返すだけでいいので、結構あっさりと実装出来る
という感じPagerSlidingTabStripと比較してみてどっちを採用するかとか検討してみると良いかも。ちなみに、ViewPageIndicatorのサンプルを手軽に試したいのであれば、 https://play.google.com/store/apps/details?id=com.viewpagerindicator.sample でインストール出来るので試してみると良いかと