From 706a864f44236943021af55fe1441a28f8a2e348 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Sat, 21 Jan 2012 10:57:45 +0100 Subject: [PATCH] Add ViewPagerIndicator library project to repository. https://github.com/JakeWharton/Android-ViewPagerIndicator Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --- README | 5 + libs/ViewPagerIndicator/.classpath | 9 + libs/ViewPagerIndicator/.project | 33 + libs/ViewPagerIndicator/AndroidManifest.xml | 9 + libs/ViewPagerIndicator/checkstyle.xml | 115 +++ .../libs/android-support-v4.jar | Bin 0 -> 224376 bytes libs/ViewPagerIndicator/lint.xml | 3 + libs/ViewPagerIndicator/pom.xml | 67 ++ libs/ViewPagerIndicator/project.properties | 12 + .../res/color/vpi__dark_theme.xml | 24 + .../res/color/vpi__light_theme.xml | 26 + .../vpi__tab_selected_focused_holo.9.png | Bin 0 -> 147 bytes .../vpi__tab_selected_holo.9.png | Bin 0 -> 148 bytes .../vpi__tab_selected_pressed_holo.9.png | Bin 0 -> 147 bytes .../vpi__tab_unselected_focused_holo.9.png | Bin 0 -> 146 bytes .../vpi__tab_unselected_holo.9.png | Bin 0 -> 153 bytes .../vpi__tab_unselected_pressed_holo.9.png | Bin 0 -> 145 bytes .../vpi__tab_selected_focused_holo.9.png | Bin 0 -> 148 bytes .../vpi__tab_selected_holo.9.png | Bin 0 -> 151 bytes .../vpi__tab_selected_pressed_holo.9.png | Bin 0 -> 150 bytes .../vpi__tab_unselected_focused_holo.9.png | Bin 0 -> 150 bytes .../vpi__tab_unselected_holo.9.png | Bin 0 -> 157 bytes .../vpi__tab_unselected_pressed_holo.9.png | Bin 0 -> 155 bytes .../vpi__tab_selected_focused_holo.9.png | Bin 0 -> 147 bytes .../vpi__tab_selected_holo.9.png | Bin 0 -> 153 bytes .../vpi__tab_selected_pressed_holo.9.png | Bin 0 -> 147 bytes .../vpi__tab_unselected_focused_holo.9.png | Bin 0 -> 148 bytes .../vpi__tab_unselected_holo.9.png | Bin 0 -> 166 bytes .../vpi__tab_unselected_pressed_holo.9.png | Bin 0 -> 149 bytes .../res/drawable/vpi__tab_indicator.xml | 34 + .../res/layout/vpi__tab.xml | 13 + .../res/values/vpi__attrs.xml | 84 ++ .../res/values/vpi__colors.xml | 26 + .../res/values/vpi__defaults.xml | 39 + .../res/values/vpi__styles.xml | 72 ++ .../CirclePageIndicator.java | 524 ++++++++++++ .../com/viewpagerindicator/PageIndicator.java | 63 ++ .../viewpagerindicator/TabPageIndicator.java | 246 ++++++ .../TitlePageIndicator.java | 776 ++++++++++++++++++ .../com/viewpagerindicator/TitleProvider.java | 28 + 40 files changed, 2208 insertions(+) create mode 100644 libs/ViewPagerIndicator/.classpath create mode 100644 libs/ViewPagerIndicator/.project create mode 100644 libs/ViewPagerIndicator/AndroidManifest.xml create mode 100644 libs/ViewPagerIndicator/checkstyle.xml create mode 100644 libs/ViewPagerIndicator/libs/android-support-v4.jar create mode 100644 libs/ViewPagerIndicator/lint.xml create mode 100644 libs/ViewPagerIndicator/pom.xml create mode 100644 libs/ViewPagerIndicator/project.properties create mode 100644 libs/ViewPagerIndicator/res/color/vpi__dark_theme.xml create mode 100644 libs/ViewPagerIndicator/res/color/vpi__light_theme.xml create mode 100644 libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_selected_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_selected_pressed_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_unselected_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_unselected_pressed_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_selected_focused_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_selected_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_unselected_focused_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_unselected_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_unselected_focused_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_unselected_pressed_holo.9.png create mode 100644 libs/ViewPagerIndicator/res/drawable/vpi__tab_indicator.xml create mode 100644 libs/ViewPagerIndicator/res/layout/vpi__tab.xml create mode 100644 libs/ViewPagerIndicator/res/values/vpi__attrs.xml create mode 100644 libs/ViewPagerIndicator/res/values/vpi__colors.xml create mode 100644 libs/ViewPagerIndicator/res/values/vpi__defaults.xml create mode 100644 libs/ViewPagerIndicator/res/values/vpi__styles.xml create mode 100644 libs/ViewPagerIndicator/src/com/viewpagerindicator/CirclePageIndicator.java create mode 100644 libs/ViewPagerIndicator/src/com/viewpagerindicator/PageIndicator.java create mode 100644 libs/ViewPagerIndicator/src/com/viewpagerindicator/TabPageIndicator.java create mode 100644 libs/ViewPagerIndicator/src/com/viewpagerindicator/TitlePageIndicator.java create mode 100644 libs/ViewPagerIndicator/src/com/viewpagerindicator/TitleProvider.java diff --git a/README b/README index 6132324..a205a44 100644 --- a/README +++ b/README @@ -37,6 +37,11 @@ Facebook: http://www.facebook.com/pages/Yaaic/359902798214 Yaaic includes the PircBot IRC API written by Paul Mutton available under the GNU General Public License (GPL). http://www.jibble.org +Yaaic uses the ViewPagerIndicator widget written by Patrik +Ã…kerfeldt, Francisco Figueiredo Jr. and Jake Wharton. Licensed +under the Apache License 2.0. +https://github.com/JakeWharton/Android-ViewPagerIndicator + The Yaaic icon was designed by http://www.androidicons.com Some icons are part of the Silk icon set designed by Mark James diff --git a/libs/ViewPagerIndicator/.classpath b/libs/ViewPagerIndicator/.classpath new file mode 100644 index 0000000..c5c5afd --- /dev/null +++ b/libs/ViewPagerIndicator/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/libs/ViewPagerIndicator/.project b/libs/ViewPagerIndicator/.project new file mode 100644 index 0000000..02921eb --- /dev/null +++ b/libs/ViewPagerIndicator/.project @@ -0,0 +1,33 @@ + + + ViewPagerIndicator + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/libs/ViewPagerIndicator/AndroidManifest.xml b/libs/ViewPagerIndicator/AndroidManifest.xml new file mode 100644 index 0000000..ff69fba --- /dev/null +++ b/libs/ViewPagerIndicator/AndroidManifest.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/libs/ViewPagerIndicator/checkstyle.xml b/libs/ViewPagerIndicator/checkstyle.xml new file mode 100644 index 0000000..5c3e7da --- /dev/null +++ b/libs/ViewPagerIndicator/checkstyle.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/ViewPagerIndicator/libs/android-support-v4.jar b/libs/ViewPagerIndicator/libs/android-support-v4.jar new file mode 100644 index 0000000000000000000000000000000000000000..b254ef5f33b808fca1417111d1a98a48f605934f GIT binary patch literal 224376 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

XQ%A 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 @?W%fD+b&%SjrM=c4um>Zv`qG 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 literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/lint.xml b/libs/ViewPagerIndicator/lint.xml new file mode 100644 index 0000000..ee0eead --- /dev/null +++ b/libs/ViewPagerIndicator/lint.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/libs/ViewPagerIndicator/pom.xml b/libs/ViewPagerIndicator/pom.xml new file mode 100644 index 0000000..ed61520 --- /dev/null +++ b/libs/ViewPagerIndicator/pom.xml @@ -0,0 +1,67 @@ + + + + 4.0.0 + + com.viewpagerindicator + library + Android-ViewPagerIndicator + apklib + + + com.viewpagerindicator + parent + 2.2.2 + ../pom.xml + + + + + android + android + provided + + + + android.support + compatibility-v4 + provided + + + + + src + + + + com.jayway.maven.plugins.android.generation2 + maven-android-plugin + true + + + + org.apache.maven.plugins + maven-javadoc-plugin + + true + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + + ${project.basedir}/checkstyle.xml + + + + verify + + checkstyle + + + + + + + diff --git a/libs/ViewPagerIndicator/project.properties b/libs/ViewPagerIndicator/project.properties new file mode 100644 index 0000000..96db742 --- /dev/null +++ b/libs/ViewPagerIndicator/project.properties @@ -0,0 +1,12 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +android.library=true +# Project target. +target=android-4 diff --git a/libs/ViewPagerIndicator/res/color/vpi__dark_theme.xml b/libs/ViewPagerIndicator/res/color/vpi__dark_theme.xml new file mode 100644 index 0000000..3e7a08f --- /dev/null +++ b/libs/ViewPagerIndicator/res/color/vpi__dark_theme.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/libs/ViewPagerIndicator/res/color/vpi__light_theme.xml b/libs/ViewPagerIndicator/res/color/vpi__light_theme.xml new file mode 100644 index 0000000..f955db7 --- /dev/null +++ b/libs/ViewPagerIndicator/res/color/vpi__light_theme.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + diff --git a/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png b/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..673e3bf10d60cc54b6dfef2fcda24575073adf61 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1i!3HFsuehcLq*#ibJVQ8upoSx*1IXtr@Q5sC zVBqcqVMgJWBc+iXw=G=Ra=)z4*}Q$iB}l;b6k literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_selected_holo.9.png b/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_selected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d57df98b501944b4ba63623766c396b5bccc29ee GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1i!3HFsuehcLq*#ibJVQ8upoSx*1IXtr@Q5sC zVBqcqVMg}h~fd(*my85}Sb4q9e0H>EG$N&HU literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png b/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..294991d7931432f4ce0615f83594077185b41e53 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1c!3HD^Kbl$tDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s&X6Hgb%5RRG22KRnVX>4qKXwM^^Uwi5RN9qg%hl7#%FO7Y8A{hJ} m-AWwAG-}%xl(FUbF)^t86Xr1Vx%dsJpTX1B&t;ucLK6TtwI;Oy literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_unselected_holo.9.png b/libs/ViewPagerIndicator/res/drawable-hdpi/vpi__tab_unselected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..19532ab10d4fe414d597ed44ed50c91a3e3b9279 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1c!3HD^Kbl$tDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s&XYfl%)5RRG2KmPx>XJ%$TT(5HGK*O1ak257UFsy01aiHFf4G12u u^?&$m-q&fz7T&FR9W0_QnO}Q~fkExE@YIkG=lX%hFnGH9xvX9s&XV^0^y5RRG22KRnVX>4qKXwM^^Uwi5RN2-aD!@msM(PItAfL0qBeIx* zfx8og8O=|gUJDd7^K@|x;h4Gh+(zC520Y9MizoD2>~^~(JZa^V pUoEkkaeSh9w)TUlKa6vZ+qJ0**((%Vy8umK@O1TaS?83{1OR&wE2RJc literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_selected_holo.9.png b/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_selected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..587337caf74f9ba3d32ba1c7cc8fb8b0b5ba245b GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhSh5-4`^4B-HR8jh3>AfL0qBeIx* zfx8og8O=|gUJDeo^mK6y;h4Gh+(zC53JlB#xw8$}k`45e4cLk;e3y7!_%!uv(Z^d6 t0#9x~Qa^f(Id{#0H&;LIP<)f9-+fKc+F|3Yl|VxnJYD@<);T3K0RZ_tFJ}M% literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png b/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..155c4fc753ed43185b31df3bea2af1ea5b3e7482 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhSh5-4`^4B-HR8jh3>AfL0qBeIx* zfx8og8O=|gUJDeo@N{tu;h33haPQZY#>U2n_RP$O>mRT6my}r8=UW!n`aACInYB!EW!u3$ rIYDzn*o$v%D|qmWd&mA1`&tG?86nH1GYjqj&0z3!^>bP0l+XkKX|61& literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_unselected_holo.9.png b/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_unselected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..a2dbf42b74f7fafb6d8a057306a9c021867d035c GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c0!3HFsSlX9@1d5$JLpXq-h9ji|$mcBZh%9Dc z;O+!rM)Q-W*8&CYJzX3_IA$jQ`2XLYnVI=;y+&GsLz;ns!JqUb2WA}}9-f|K(evAk wfFg6gPD@K@^jg!TZFujONZyK%*Ov1zxbO?iIdA+_5oi>Hr>mdKI;Vst04D7$hX4Qo literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png b/libs/ViewPagerIndicator/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b1223fe3c407e072bb22d6f534397bf3254939fa GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c0!3HFsSlX9@1d5$JLpXq-h9ji|$mcBZh%9Dc z;O+!rM)Q-W*8&A?JzX3_IA$gr-1{}9v9a-?Ju~y+`p0YiB_$U2xUsRZwQat4>8lS< uMnfl1c4A|rBX^f%!~&s(1*$LFm>5oL2|PB@cz*+E5QC?ypUXO@geCw>u`ROz literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png b/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..03cfb0945d97ecd224763eca5c3136e043c13288 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^EX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`8Mo-U3d5>t~6?){q5*x2~c-pCBZ5@_=ERFyG literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_holo.9.png b/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e4229f26b2771d884934b80d0056b8dd66d10edd GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^EX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`8+o-U3d5>t~6?){q5*x2~c-l(n1@K5>ymj5$1a2Oc?!34d7Ck`Aq skg(^gW|wXH-lZoEvTk@AJm}J3sQWAGentL}KF}BjPgg&ebxsLQ0KFYBT>t<8 literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png b/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e862cb12154541c150fb2d9bb98872bcff506317 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^EX7WqAsj$Z!;#Vf4nJ zaCd?*qxs3xYk`8Mo-U3d5>t~6?){q5*x2~c-pCBZ5(#$xWo$;KAD39oi<@P`m7(8A5T-G@yGywqAKq?vl literal 0 HcmV?d00001 diff --git a/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png b/libs/ViewPagerIndicator/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9465173781eaa7fc9ab0e191904f928ad1c0b8f4 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ#0V1dK=^FznmSQK*5Dp-y;YjHK@;M7UB8wRq zxI00Z(fs7;wLn1+PZ!4!j+x0n{{OdUW@bKIZ*t~9!x;yr|1&pm7#RS;1ieP?Kk11H z2?+-Ger=J9{IX`d2{ZSUyAFF~k44WnGFVV~q2hHg8$(d6=$w>Y|ILABGI+ZBxvX + + + + + + + + + + + + + + + + + + + + diff --git a/libs/ViewPagerIndicator/res/layout/vpi__tab.xml b/libs/ViewPagerIndicator/res/layout/vpi__tab.xml new file mode 100644 index 0000000..980bec4 --- /dev/null +++ b/libs/ViewPagerIndicator/res/layout/vpi__tab.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/libs/ViewPagerIndicator/res/values/vpi__attrs.xml b/libs/ViewPagerIndicator/res/values/vpi__attrs.xml new file mode 100644 index 0000000..9e47b07 --- /dev/null +++ b/libs/ViewPagerIndicator/res/values/vpi__attrs.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/ViewPagerIndicator/res/values/vpi__colors.xml b/libs/ViewPagerIndicator/res/values/vpi__colors.xml new file mode 100644 index 0000000..c0d958f --- /dev/null +++ b/libs/ViewPagerIndicator/res/values/vpi__colors.xml @@ -0,0 +1,26 @@ + + + + + #ff000000 + #fff3f3f3 + @color/vpi__background_holo_light + @color/vpi__background_holo_dark + #ff4c4c4c + #ffb2b2b2 + @color/vpi__bright_foreground_holo_light + @color/vpi__bright_foreground_holo_dark + diff --git a/libs/ViewPagerIndicator/res/values/vpi__defaults.xml b/libs/ViewPagerIndicator/res/values/vpi__defaults.xml new file mode 100644 index 0000000..6a27089 --- /dev/null +++ b/libs/ViewPagerIndicator/res/values/vpi__defaults.xml @@ -0,0 +1,39 @@ + + + + + true + #FFFFFFFF + 0 + 3dp + false + #FFDDDDDD + 1dp + + 4dp + #FF6899FF + 2dp + 2 + 4dp + 20dp + 7dp + #FFFFFFFF + true + #BBFFFFFF + 15sp + 5dp + 7dp + \ No newline at end of file diff --git a/libs/ViewPagerIndicator/res/values/vpi__styles.xml b/libs/ViewPagerIndicator/res/values/vpi__styles.xml new file mode 100644 index 0000000..f6fa7b1 --- /dev/null +++ b/libs/ViewPagerIndicator/res/values/vpi__styles.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + diff --git a/libs/ViewPagerIndicator/src/com/viewpagerindicator/CirclePageIndicator.java b/libs/ViewPagerIndicator/src/com/viewpagerindicator/CirclePageIndicator.java new file mode 100644 index 0000000..bc4f898 --- /dev/null +++ b/libs/ViewPagerIndicator/src/com/viewpagerindicator/CirclePageIndicator.java @@ -0,0 +1,524 @@ +/* + * Copyright (C) 2011 Patrik Akerfeldt + * Copyright (C) 2011 Jake Wharton + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.viewpagerindicator; + +import android.content.Context; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Paint.Style; +import android.os.Parcel; +import android.os.Parcelable; +import android.support.v4.view.MotionEventCompat; +import android.support.v4.view.ViewConfigurationCompat; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewConfiguration; + +/** + * Draws circles (one for each view). The current view position is filled and + * others are only stroked. + */ +public class CirclePageIndicator extends View implements PageIndicator { + public static final int HORIZONTAL = 0; + public static final int VERTICAL = 1; + + private float mRadius; + private final Paint mPaintStroke; + private final Paint mPaintFill; + private ViewPager mViewPager; + private ViewPager.OnPageChangeListener mListener; + private int mCurrentPage; + private int mSnapPage; + private int mCurrentOffset; + private int mScrollState; + private int mPageSize; + private int mOrientation; + private boolean mCentered; + private boolean mSnap; + + private static final int INVALID_POINTER = -1; + + private int mTouchSlop; + private float mLastMotionX = -1; + private int mActivePointerId = INVALID_POINTER; + private boolean mIsDragging; + + + public CirclePageIndicator(Context context) { + this(context, null); + } + + public CirclePageIndicator(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.vpiCirclePageIndicatorStyle); + } + + public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + //Load defaults from resources + final Resources res = getResources(); + final int defaultFillColor = res.getColor(R.color.default_circle_indicator_fill_color); + final int defaultOrientation = res.getInteger(R.integer.default_circle_indicator_orientation); + final int defaultStrokeColor = res.getColor(R.color.default_circle_indicator_stroke_color); + final float defaultStrokeWidth = res.getDimension(R.dimen.default_circle_indicator_stroke_width); + final float defaultRadius = res.getDimension(R.dimen.default_circle_indicator_radius); + final boolean defaultCentered = res.getBoolean(R.bool.default_circle_indicator_centered); + final boolean defaultSnap = res.getBoolean(R.bool.default_circle_indicator_snap); + + //Retrieve styles attributes + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CirclePageIndicator, defStyle, R.style.Widget_CirclePageIndicator); + + mCentered = a.getBoolean(R.styleable.CirclePageIndicator_centered, defaultCentered); + mOrientation = a.getInt(R.styleable.CirclePageIndicator_orientation, defaultOrientation); + mPaintStroke = new Paint(Paint.ANTI_ALIAS_FLAG); + mPaintStroke.setStyle(Style.STROKE); + mPaintStroke.setColor(a.getColor(R.styleable.CirclePageIndicator_strokeColor, defaultStrokeColor)); + mPaintStroke.setStrokeWidth(a.getDimension(R.styleable.CirclePageIndicator_strokeWidth, defaultStrokeWidth)); + mPaintFill = new Paint(Paint.ANTI_ALIAS_FLAG); + mPaintFill.setStyle(Style.FILL); + mPaintFill.setColor(a.getColor(R.styleable.CirclePageIndicator_fillColor, defaultFillColor)); + mRadius = a.getDimension(R.styleable.CirclePageIndicator_radius, defaultRadius); + mSnap = a.getBoolean(R.styleable.CirclePageIndicator_snap, defaultSnap); + + a.recycle(); + + final ViewConfiguration configuration = ViewConfiguration.get(context); + mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration); + } + + + public void setCentered(boolean centered) { + mCentered = centered; + invalidate(); + } + + public boolean isCentered() { + return mCentered; + } + + public void setFillColor(int fillColor) { + mPaintFill.setColor(fillColor); + invalidate(); + } + + public int getFillColor() { + return mPaintFill.getColor(); + } + + public void setOrientation(int orientation) { + switch (orientation) { + case HORIZONTAL: + case VERTICAL: + mOrientation = orientation; + updatePageSize(); + requestLayout(); + break; + + default: + throw new IllegalArgumentException("Orientation must be either HORIZONTAL or VERTICAL."); + } + } + + public int getOrientation() { + return mOrientation; + } + + public void setStrokeColor(int strokeColor) { + mPaintStroke.setColor(strokeColor); + invalidate(); + } + + public int getStrokeColor() { + return mPaintStroke.getColor(); + } + + public void setStrokeWidth(float strokeWidth) { + mPaintStroke.setStrokeWidth(strokeWidth); + invalidate(); + } + + public float getStrokeWidth() { + return mPaintStroke.getStrokeWidth(); + } + + public void setRadius(float radius) { + mRadius = radius; + invalidate(); + } + + public float getRadius() { + return mRadius; + } + + public void setSnap(boolean snap) { + mSnap = snap; + invalidate(); + } + + public boolean isSnap() { + return mSnap; + } + + /* + * (non-Javadoc) + * + * @see android.view.View#onDraw(android.graphics.Canvas) + */ + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + + if (mViewPager == null) { + return; + } + final int count = mViewPager.getAdapter().getCount(); + if (count == 0) { + return; + } + + int longSize; + int longPaddingBefore; + int longPaddingAfter; + int shortPaddingBefore; + if (mOrientation == HORIZONTAL) { + longSize = getWidth(); + longPaddingBefore = getPaddingLeft(); + longPaddingAfter = getPaddingRight(); + shortPaddingBefore = getPaddingTop(); + } else { + longSize = getHeight(); + longPaddingBefore = getPaddingTop(); + longPaddingAfter = getPaddingBottom(); + shortPaddingBefore = getPaddingLeft(); + } + + final float threeRadius = mRadius * 3; + final float shortOffset = shortPaddingBefore + mRadius; + float longOffset = longPaddingBefore + mRadius; + if (mCentered) { + longOffset += ((longSize - longPaddingBefore - longPaddingAfter) / 2.0f) - ((count * threeRadius) / 2.0f); + } + + float dX; + float dY; + + //Draw stroked circles + for (int iLoop = 0; iLoop < count; iLoop++) { + float drawLong = longOffset + (iLoop * threeRadius); + if (mOrientation == HORIZONTAL) { + dX = drawLong; + dY = shortOffset; + } else { + dX = shortOffset; + dY = drawLong; + } + canvas.drawCircle(dX, dY, mRadius, mPaintStroke); + } + + //Draw the filled circle according to the current scroll + float cx = (mSnap ? mSnapPage : mCurrentPage) * threeRadius; + if (!mSnap && (mPageSize != 0)) { + cx += (mCurrentOffset * 1.0f / mPageSize) * threeRadius; + } + if (mOrientation == HORIZONTAL) { + dX = longOffset + cx; + dY = shortOffset; + } else { + dX = shortOffset; + dY = longOffset + cx; + } + canvas.drawCircle(dX, dY, mRadius, mPaintFill); + } + + public boolean onTouchEvent(android.view.MotionEvent ev) { + if ((mViewPager == null) || (mViewPager.getAdapter().getCount() == 0)) { + return false; + } + + final int action = ev.getAction(); + + switch (action & MotionEventCompat.ACTION_MASK) { + case MotionEvent.ACTION_DOWN: + mActivePointerId = MotionEventCompat.getPointerId(ev, 0); + mLastMotionX = ev.getX(); + break; + + case MotionEvent.ACTION_MOVE: { + final int activePointerIndex = MotionEventCompat.findPointerIndex(ev, mActivePointerId); + final float x = MotionEventCompat.getX(ev, activePointerIndex); + final float deltaX = x - mLastMotionX; + + if (!mIsDragging) { + if (Math.abs(deltaX) > mTouchSlop) { + mIsDragging = true; + } + } + + if (mIsDragging) { + if (!mViewPager.isFakeDragging()) { + mViewPager.beginFakeDrag(); + } + + mLastMotionX = x; + + mViewPager.fakeDragBy(deltaX); + } + + break; + } + + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_UP: + if (!mIsDragging) { + final int count = mViewPager.getAdapter().getCount(); + final int width = getWidth(); + final float halfWidth = width / 2f; + final float sixthWidth = width / 6f; + + if ((mCurrentPage > 0) && (ev.getX() < halfWidth - sixthWidth)) { + mViewPager.setCurrentItem(mCurrentPage - 1); + return true; + } else if ((mCurrentPage < count - 1) && (ev.getX() > halfWidth + sixthWidth)) { + mViewPager.setCurrentItem(mCurrentPage + 1); + return true; + } + } + + mIsDragging = false; + mActivePointerId = INVALID_POINTER; + if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag(); + break; + + case MotionEventCompat.ACTION_POINTER_DOWN: { + final int index = MotionEventCompat.getActionIndex(ev); + final float x = MotionEventCompat.getX(ev, index); + mLastMotionX = x; + mActivePointerId = MotionEventCompat.getPointerId(ev, index); + break; + } + + case MotionEventCompat.ACTION_POINTER_UP: + final int pointerIndex = MotionEventCompat.getActionIndex(ev); + final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex); + if (pointerId == mActivePointerId) { + final int newPointerIndex = pointerIndex == 0 ? 1 : 0; + mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex); + } + mLastMotionX = MotionEventCompat.getX(ev, MotionEventCompat.findPointerIndex(ev, mActivePointerId)); + break; + } + + return true; + }; + + @Override + public void setViewPager(ViewPager view) { + if (view.getAdapter() == null) { + throw new IllegalStateException("ViewPager does not have adapter instance."); + } + mViewPager = view; + mViewPager.setOnPageChangeListener(this); + updatePageSize(); + invalidate(); + } + + private void updatePageSize() { + if (mViewPager != null) { + mPageSize = (mOrientation == HORIZONTAL) ? mViewPager.getWidth() : mViewPager.getHeight(); + } + } + + @Override + public void setViewPager(ViewPager view, int initialPosition) { + setViewPager(view); + setCurrentItem(initialPosition); + } + + @Override + public void setCurrentItem(int item) { + if (mViewPager == null) { + throw new IllegalStateException("ViewPager has not been bound."); + } + mViewPager.setCurrentItem(item); + mCurrentPage = item; + invalidate(); + } + + @Override + public void notifyDataSetChanged() { + invalidate(); + } + + @Override + public void onPageScrollStateChanged(int state) { + mScrollState = state; + + if (mListener != null) { + mListener.onPageScrollStateChanged(state); + } + } + + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + mCurrentPage = position; + mCurrentOffset = positionOffsetPixels; + updatePageSize(); + invalidate(); + + if (mListener != null) { + mListener.onPageScrolled(position, positionOffset, positionOffsetPixels); + } + } + + @Override + public void onPageSelected(int position) { + if (mSnap || mScrollState == ViewPager.SCROLL_STATE_IDLE) { + mCurrentPage = position; + mSnapPage = position; + invalidate(); + } + + if (mListener != null) { + mListener.onPageSelected(position); + } + } + + @Override + public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener) { + mListener = listener; + } + + /* + * (non-Javadoc) + * + * @see android.view.View#onMeasure(int, int) + */ + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + if (mOrientation == HORIZONTAL) { + setMeasuredDimension(measureLong(widthMeasureSpec), measureShort(heightMeasureSpec)); + } else { + setMeasuredDimension(measureShort(widthMeasureSpec), measureLong(heightMeasureSpec)); + } + } + + /** + * Determines the width of this view + * + * @param measureSpec + * A measureSpec packed into an int + * @return The width of the view, honoring constraints from measureSpec + */ + private int measureLong(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if ((specMode == MeasureSpec.EXACTLY) || (mViewPager == null)) { + //We were told how big to be + result = specSize; + } else { + //Calculate the width according the views count + final int count = mViewPager.getAdapter().getCount(); + result = (int)(getPaddingLeft() + getPaddingRight() + + (count * 2 * mRadius) + (count - 1) * mRadius + 1); + //Respect AT_MOST value if that was what is called for by measureSpec + if (specMode == MeasureSpec.AT_MOST) { + result = Math.min(result, specSize); + } + } + return result; + } + + /** + * Determines the height of this view + * + * @param measureSpec + * A measureSpec packed into an int + * @return The height of the view, honoring constraints from measureSpec + */ + private int measureShort(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + //We were told how big to be + result = specSize; + } else { + //Measure the height + result = (int)(2 * mRadius + getPaddingTop() + getPaddingBottom() + 1); + //Respect AT_MOST value if that was what is called for by measureSpec + if (specMode == MeasureSpec.AT_MOST) { + result = Math.min(result, specSize); + } + } + return result; + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + SavedState savedState = (SavedState)state; + super.onRestoreInstanceState(savedState.getSuperState()); + mCurrentPage = savedState.currentPage; + mSnapPage = savedState.currentPage; + requestLayout(); + } + + @Override + public Parcelable onSaveInstanceState() { + Parcelable superState = super.onSaveInstanceState(); + SavedState savedState = new SavedState(superState); + savedState.currentPage = mCurrentPage; + return savedState; + } + + static class SavedState extends BaseSavedState { + int currentPage; + + public SavedState(Parcelable superState) { + super(superState); + } + + private SavedState(Parcel in) { + super(in); + currentPage = in.readInt(); + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + super.writeToParcel(dest, flags); + dest.writeInt(currentPage); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + @Override + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } +} diff --git a/libs/ViewPagerIndicator/src/com/viewpagerindicator/PageIndicator.java b/libs/ViewPagerIndicator/src/com/viewpagerindicator/PageIndicator.java new file mode 100644 index 0000000..26414d8 --- /dev/null +++ b/libs/ViewPagerIndicator/src/com/viewpagerindicator/PageIndicator.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2011 Patrik Akerfeldt + * Copyright (C) 2011 Jake Wharton + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.viewpagerindicator; + +import android.support.v4.view.ViewPager; + +/** + * A PageIndicator is responsible to show an visual indicator on the total views + * number and the current visible view. + */ +public interface PageIndicator extends ViewPager.OnPageChangeListener { + /** + * Bind the indicator to a ViewPager. + * + * @param view + */ + public void setViewPager(ViewPager view); + + /** + * Bind the indicator to a ViewPager. + * + * @param view + * @param initialPosition + */ + public void setViewPager(ViewPager view, int initialPosition); + + /** + *

    Set the current page of both the ViewPager and indicator.

    + * + *

    This must be used if you need to set the page before + * the views are drawn on screen (e.g., default start page).

    + * + * @param item + */ + public void setCurrentItem(int item); + + /** + * Set a page change listener which will receive forwarded events. + * + * @param listener + */ + public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener); + + /** + * Notify the indicator that the fragment list has changed. + */ + public void notifyDataSetChanged(); +} diff --git a/libs/ViewPagerIndicator/src/com/viewpagerindicator/TabPageIndicator.java b/libs/ViewPagerIndicator/src/com/viewpagerindicator/TabPageIndicator.java new file mode 100644 index 0000000..9fba053 --- /dev/null +++ b/libs/ViewPagerIndicator/src/com/viewpagerindicator/TabPageIndicator.java @@ -0,0 +1,246 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * Copyright (C) 2011 Jake Wharton + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.viewpagerindicator; + +import android.content.Context; +import android.support.v4.view.PagerAdapter; +import android.support.v4.view.ViewPager; +import android.support.v4.view.ViewPager.OnPageChangeListener; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.HorizontalScrollView; +import android.widget.LinearLayout; +import android.widget.TextView; + +/** + * This widget implements the dynamic action bar tab behavior that can change + * across different configurations or circumstances. + */ +public class TabPageIndicator extends HorizontalScrollView implements PageIndicator { + Runnable mTabSelector; + + private OnClickListener mTabClickListener = new OnClickListener() { + public void onClick(View view) { + TabView tabView = (TabView)view; + mViewPager.setCurrentItem(tabView.getIndex()); + } + }; + + private LinearLayout mTabLayout; + private ViewPager mViewPager; + private ViewPager.OnPageChangeListener mListener; + + private LayoutInflater mInflater; + + int mMaxTabWidth; + private int mSelectedTabIndex; + + public TabPageIndicator(Context context) { + this(context, null); + } + + public TabPageIndicator(Context context, AttributeSet attrs) { + super(context, attrs); + setHorizontalScrollBarEnabled(false); + + mInflater = LayoutInflater.from(context); + + mTabLayout = new LinearLayout(getContext()); + addView(mTabLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.FILL_PARENT)); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + final int widthMode = MeasureSpec.getMode(widthMeasureSpec); + final boolean lockedExpanded = widthMode == MeasureSpec.EXACTLY; + setFillViewport(lockedExpanded); + + final int childCount = mTabLayout.getChildCount(); + if (childCount > 1 && (widthMode == MeasureSpec.EXACTLY || widthMode == MeasureSpec.AT_MOST)) { + if (childCount > 2) { + mMaxTabWidth = (int)(MeasureSpec.getSize(widthMeasureSpec) * 0.4f); + } else { + mMaxTabWidth = MeasureSpec.getSize(widthMeasureSpec) / 2; + } + } else { + mMaxTabWidth = -1; + } + + final int oldWidth = getMeasuredWidth(); + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + final int newWidth = getMeasuredWidth(); + + if (lockedExpanded && oldWidth != newWidth) { + // Recenter the tab display if we're at a new (scrollable) size. + setCurrentItem(mSelectedTabIndex); + } + } + + private void animateToTab(final int position) { + final View tabView = mTabLayout.getChildAt(position); + if (mTabSelector != null) { + removeCallbacks(mTabSelector); + } + mTabSelector = new Runnable() { + public void run() { + final int scrollPos = tabView.getLeft() - (getWidth() - tabView.getWidth()) / 2; + smoothScrollTo(scrollPos, 0); + mTabSelector = null; + } + }; + post(mTabSelector); + } + + @Override + public void onAttachedToWindow() { + super.onAttachedToWindow(); + if (mTabSelector != null) { + // Re-post the selector we saved + post(mTabSelector); + } + } + + @Override + public void onDetachedFromWindow() { + super.onDetachedFromWindow(); + if (mTabSelector != null) { + removeCallbacks(mTabSelector); + } + } + + private void addTab(String text, int index) { + //Workaround for not being able to pass a defStyle on pre-3.0 + final TabView tabView = (TabView)mInflater.inflate(R.layout.vpi__tab, null); + tabView.init(this, text, index); + tabView.setFocusable(true); + tabView.setOnClickListener(mTabClickListener); + + mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0, LayoutParams.FILL_PARENT, 1)); + } + + @Override + public void onPageScrollStateChanged(int arg0) { + if (mListener != null) { + mListener.onPageScrollStateChanged(arg0); + } + } + + @Override + public void onPageScrolled(int arg0, float arg1, int arg2) { + if (mListener != null) { + mListener.onPageScrolled(arg0, arg1, arg2); + } + } + + @Override + public void onPageSelected(int arg0) { + setCurrentItem(arg0); + if (mListener != null) { + mListener.onPageSelected(arg0); + } + } + + @Override + public void setViewPager(ViewPager view) { + final PagerAdapter adapter = view.getAdapter(); + if (adapter == null) { + throw new IllegalStateException("ViewPager does not have adapter instance."); + } + if (!(adapter instanceof TitleProvider)) { + throw new IllegalStateException("ViewPager adapter must implement TitleProvider to be used with TitlePageIndicator."); + } + mViewPager = view; + view.setOnPageChangeListener(this); + notifyDataSetChanged(); + } + + public void notifyDataSetChanged() { + mTabLayout.removeAllViews(); + TitleProvider adapter = (TitleProvider)mViewPager.getAdapter(); + final int count = ((PagerAdapter)adapter).getCount(); + for (int i = 0; i < count; i++) { + addTab(adapter.getTitle(i), i); + } + if (mSelectedTabIndex > count) { + mSelectedTabIndex = count - 1; + } + setCurrentItem(mSelectedTabIndex); + requestLayout(); + } + + @Override + public void setViewPager(ViewPager view, int initialPosition) { + setViewPager(view); + setCurrentItem(initialPosition); + } + + @Override + public void setCurrentItem(int item) { + if (mViewPager == null) { + throw new IllegalStateException("ViewPager has not been bound."); + } + mSelectedTabIndex = item; + final int tabCount = mTabLayout.getChildCount(); + for (int i = 0; i < tabCount; i++) { + final View child = mTabLayout.getChildAt(i); + final boolean isSelected = (i == item); + child.setSelected(isSelected); + if (isSelected) { + animateToTab(item); + } + } + } + + @Override + public void setOnPageChangeListener(OnPageChangeListener listener) { + mListener = listener; + } + + public static class TabView extends LinearLayout { + private TabPageIndicator mParent; + private int mIndex; + + public TabView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public void init(TabPageIndicator parent, String text, int index) { + mParent = parent; + mIndex = index; + + TextView textView = (TextView)findViewById(android.R.id.text1); + textView.setText(text); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + // Re-measure if we went beyond our maximum size. + if (mParent.mMaxTabWidth > 0 && getMeasuredWidth() > mParent.mMaxTabWidth) { + super.onMeasure(MeasureSpec.makeMeasureSpec(mParent.mMaxTabWidth, MeasureSpec.EXACTLY), + heightMeasureSpec); + } + } + + public int getIndex() { + return mIndex; + } + } +} diff --git a/libs/ViewPagerIndicator/src/com/viewpagerindicator/TitlePageIndicator.java b/libs/ViewPagerIndicator/src/com/viewpagerindicator/TitlePageIndicator.java new file mode 100644 index 0000000..b4eb8ad --- /dev/null +++ b/libs/ViewPagerIndicator/src/com/viewpagerindicator/TitlePageIndicator.java @@ -0,0 +1,776 @@ +/* + * Copyright (C) 2011 Jake Wharton + * Copyright (C) 2011 Patrik Akerfeldt + * Copyright (C) 2011 Francisco Figueiredo Jr. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.viewpagerindicator; + +import java.util.ArrayList; +import android.content.Context; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.RectF; +import android.graphics.Typeface; +import android.os.Parcel; +import android.os.Parcelable; +import android.support.v4.view.MotionEventCompat; +import android.support.v4.view.PagerAdapter; +import android.support.v4.view.ViewConfigurationCompat; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewConfiguration; + +/** + * A TitlePageIndicator is a PageIndicator which displays the title of left view + * (if exist), the title of the current select view (centered) and the title of + * the right view (if exist). When the user scrolls the ViewPager then titles are + * also scrolled. + */ +public class TitlePageIndicator extends View implements PageIndicator { + /** + * Percentage indicating what percentage of the screen width away from + * center should the underline be fully faded. A value of 0.25 means that + * halfway between the center of the screen and an edge. + */ + private static final float SELECTION_FADE_PERCENTAGE = 0.25f; + + /** + * Percentage indicating what percentage of the screen width away from + * center should the selected text bold turn off. A value of 0.05 means + * that 10% between the center and an edge. + */ + private static final float BOLD_FADE_PERCENTAGE = 0.05f; + + /** + * Interface for a callback when the center item has been clicked. + */ + public static interface OnCenterItemClickListener { + /** + * Callback when the center item has been clicked. + * + * @param position Position of the current center item. + */ + public void onCenterItemClick(int position); + } + + public enum IndicatorStyle { + None(0), Triangle(1), Underline(2); + + public final int value; + + private IndicatorStyle(int value) { + this.value = value; + } + + public static IndicatorStyle fromValue(int value) { + for (IndicatorStyle style : IndicatorStyle.values()) { + if (style.value == value) { + return style; + } + } + return null; + } + } + + private ViewPager mViewPager; + private ViewPager.OnPageChangeListener mListener; + private TitleProvider mTitleProvider; + private int mCurrentPage; + private int mCurrentOffset; + private int mScrollState; + private final Paint mPaintText = new Paint(); + private boolean mBoldText; + private int mColorText; + private int mColorSelected; + private Path mPath; + private final Paint mPaintFooterLine = new Paint(); + private IndicatorStyle mFooterIndicatorStyle; + private final Paint mPaintFooterIndicator = new Paint(); + private float mFooterIndicatorHeight; + private float mFooterIndicatorUnderlinePadding; + private float mFooterPadding; + private float mTitlePadding; + private float mTopPadding; + /** Left and right side padding for not active view titles. */ + private float mClipPadding; + private float mFooterLineHeight; + + private static final int INVALID_POINTER = -1; + + private int mTouchSlop; + private float mLastMotionX = -1; + private int mActivePointerId = INVALID_POINTER; + private boolean mIsDragging; + + private OnCenterItemClickListener mCenterItemClickListener; + + + public TitlePageIndicator(Context context) { + this(context, null); + } + + public TitlePageIndicator(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.vpiTitlePageIndicatorStyle); + } + + public TitlePageIndicator(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + //Load defaults from resources + final Resources res = getResources(); + final int defaultFooterColor = res.getColor(R.color.default_title_indicator_footer_color); + final float defaultFooterLineHeight = res.getDimension(R.dimen.default_title_indicator_footer_line_height); + final int defaultFooterIndicatorStyle = res.getInteger(R.integer.default_title_indicator_footer_indicator_style); + final float defaultFooterIndicatorHeight = res.getDimension(R.dimen.default_title_indicator_footer_indicator_height); + final float defaultFooterIndicatorUnderlinePadding = res.getDimension(R.dimen.default_title_indicator_footer_indicator_underline_padding); + final float defaultFooterPadding = res.getDimension(R.dimen.default_title_indicator_footer_padding); + final int defaultSelectedColor = res.getColor(R.color.default_title_indicator_selected_color); + final boolean defaultSelectedBold = res.getBoolean(R.bool.default_title_indicator_selected_bold); + final int defaultTextColor = res.getColor(R.color.default_title_indicator_text_color); + final float defaultTextSize = res.getDimension(R.dimen.default_title_indicator_text_size); + final float defaultTitlePadding = res.getDimension(R.dimen.default_title_indicator_title_padding); + final float defaultClipPadding = res.getDimension(R.dimen.default_title_indicator_clip_padding); + final float defaultTopPadding = res.getDimension(R.dimen.default_title_indicator_top_padding); + + //Retrieve styles attributes + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.TitlePageIndicator, defStyle, R.style.Widget_TitlePageIndicator); + + //Retrieve the colors to be used for this view and apply them. + mFooterLineHeight = a.getDimension(R.styleable.TitlePageIndicator_footerLineHeight, defaultFooterLineHeight); + mFooterIndicatorStyle = IndicatorStyle.fromValue(a.getInteger(R.styleable.TitlePageIndicator_footerIndicatorStyle, defaultFooterIndicatorStyle)); + mFooterIndicatorHeight = a.getDimension(R.styleable.TitlePageIndicator_footerIndicatorHeight, defaultFooterIndicatorHeight); + mFooterIndicatorUnderlinePadding = a.getDimension(R.styleable.TitlePageIndicator_footerIndicatorUnderlinePadding, defaultFooterIndicatorUnderlinePadding); + mFooterPadding = a.getDimension(R.styleable.TitlePageIndicator_footerPadding, defaultFooterPadding); + mTopPadding = a.getDimension(R.styleable.TitlePageIndicator_topPadding, defaultTopPadding); + mTitlePadding = a.getDimension(R.styleable.TitlePageIndicator_titlePadding, defaultTitlePadding); + mClipPadding = a.getDimension(R.styleable.TitlePageIndicator_clipPadding, defaultClipPadding); + mColorSelected = a.getColor(R.styleable.TitlePageIndicator_selectedColor, defaultSelectedColor); + mColorText = a.getColor(R.styleable.TitlePageIndicator_textColor, defaultTextColor); + mBoldText = a.getBoolean(R.styleable.TitlePageIndicator_selectedBold, defaultSelectedBold); + + final float textSize = a.getDimension(R.styleable.TitlePageIndicator_textSize, defaultTextSize); + final int footerColor = a.getColor(R.styleable.TitlePageIndicator_footerColor, defaultFooterColor); + mPaintText.setTextSize(textSize); + mPaintText.setAntiAlias(true); + mPaintFooterLine.setStyle(Paint.Style.FILL_AND_STROKE); + mPaintFooterLine.setStrokeWidth(mFooterLineHeight); + mPaintFooterLine.setColor(footerColor); + mPaintFooterIndicator.setStyle(Paint.Style.FILL_AND_STROKE); + mPaintFooterIndicator.setColor(footerColor); + + a.recycle(); + + final ViewConfiguration configuration = ViewConfiguration.get(context); + mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration); + } + + + public int getFooterColor() { + return mPaintFooterLine.getColor(); + } + + public void setFooterColor(int footerColor) { + mPaintFooterLine.setColor(footerColor); + mPaintFooterIndicator.setColor(footerColor); + invalidate(); + } + + public float getFooterLineHeight() { + return mFooterLineHeight; + } + + public void setFooterLineHeight(float footerLineHeight) { + mFooterLineHeight = footerLineHeight; + mPaintFooterLine.setStrokeWidth(mFooterLineHeight); + invalidate(); + } + + public float getFooterIndicatorHeight() { + return mFooterIndicatorHeight; + } + + public void setFooterIndicatorHeight(float footerTriangleHeight) { + mFooterIndicatorHeight = footerTriangleHeight; + invalidate(); + } + + public float getFooterIndicatorPadding() { + return mFooterPadding; + } + + public void setFooterIndicatorPadding(float footerIndicatorPadding) { + mFooterPadding = footerIndicatorPadding; + invalidate(); + } + + public IndicatorStyle getFooterIndicatorStyle() { + return mFooterIndicatorStyle; + } + + public void setFooterIndicatorStyle(IndicatorStyle indicatorStyle) { + mFooterIndicatorStyle = indicatorStyle; + invalidate(); + } + + public int getSelectedColor() { + return mColorSelected; + } + + public void setSelectedColor(int selectedColor) { + mColorSelected = selectedColor; + invalidate(); + } + + public boolean isSelectedBold() { + return mBoldText; + } + + public void setSelectedBold(boolean selectedBold) { + mBoldText = selectedBold; + invalidate(); + } + + public int getTextColor() { + return mColorText; + } + + public void setTextColor(int textColor) { + mPaintText.setColor(textColor); + mColorText = textColor; + invalidate(); + } + + public float getTextSize() { + return mPaintText.getTextSize(); + } + + public void setTextSize(float textSize) { + mPaintText.setTextSize(textSize); + invalidate(); + } + + public float getTitlePadding() { + return this.mTitlePadding; + } + + public void setTitlePadding(float titlePadding) { + mTitlePadding = titlePadding; + invalidate(); + } + + public float getTopPadding() { + return this.mTopPadding; + } + + public void setTopPadding(float topPadding) { + mTopPadding = topPadding; + invalidate(); + } + + public float getClipPadding() { + return this.mClipPadding; + } + + public void setClipPadding(float clipPadding) { + mClipPadding = clipPadding; + invalidate(); + } + + public void setTypeface(Typeface typeface) { + mPaintText.setTypeface(typeface); + invalidate(); + } + + public Typeface getTypeface() { + return mPaintText.getTypeface(); + } + + /* + * (non-Javadoc) + * + * @see android.view.View#onDraw(android.graphics.Canvas) + */ + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + + if (mViewPager == null) { + return; + } + final int count = mViewPager.getAdapter().getCount(); + if (count == 0) { + return; + } + + //Calculate views bounds + ArrayList bounds = calculateAllBounds(mPaintText); + + //Make sure we're on a page that still exists + if (mCurrentPage >= bounds.size()) { + setCurrentItem(bounds.size()-1); + } + + final int countMinusOne = count - 1; + final float halfWidth = getWidth() / 2f; + final int left = getLeft(); + final float leftClip = left + mClipPadding; + final int width = getWidth(); + final int height = getHeight(); + final int right = left + width; + final float rightClip = right - mClipPadding; + + int page = mCurrentPage; + float offsetPercent; + if (mCurrentOffset <= halfWidth) { + offsetPercent = 1.0f * mCurrentOffset / width; + } else { + page += 1; + offsetPercent = 1.0f * (width - mCurrentOffset) / width; + } + final boolean currentSelected = (offsetPercent <= SELECTION_FADE_PERCENTAGE); + final boolean currentBold = (offsetPercent <= BOLD_FADE_PERCENTAGE); + final float selectedPercent = (SELECTION_FADE_PERCENTAGE - offsetPercent) / SELECTION_FADE_PERCENTAGE; + + //Verify if the current view must be clipped to the screen + RectF curPageBound = bounds.get(mCurrentPage); + float curPageWidth = curPageBound.right - curPageBound.left; + if (curPageBound.left < leftClip) { + //Try to clip to the screen (left side) + clipViewOnTheLeft(curPageBound, curPageWidth, left); + } + if (curPageBound.right > rightClip) { + //Try to clip to the screen (right side) + clipViewOnTheRight(curPageBound, curPageWidth, right); + } + + //Left views starting from the current position + if (mCurrentPage > 0) { + for (int i = mCurrentPage - 1; i >= 0; i--) { + RectF bound = bounds.get(i); + //Is left side is outside the screen + if (bound.left < leftClip) { + float w = bound.right - bound.left; + //Try to clip to the screen (left side) + clipViewOnTheLeft(bound, w, left); + //Except if there's an intersection with the right view + RectF rightBound = bounds.get(i + 1); + //Intersection + if (bound.right + mTitlePadding > rightBound.left) { + bound.left = rightBound.left - w - mTitlePadding; + bound.right = bound.left + w; + } + } + } + } + //Right views starting from the current position + if (mCurrentPage < countMinusOne) { + for (int i = mCurrentPage + 1 ; i < count; i++) { + RectF bound = bounds.get(i); + //If right side is outside the screen + if (bound.right > rightClip) { + float w = bound.right - bound.left; + //Try to clip to the screen (right side) + clipViewOnTheRight(bound, w, right); + //Except if there's an intersection with the left view + RectF leftBound = bounds.get(i - 1); + //Intersection + if (bound.left - mTitlePadding < leftBound.right) { + bound.left = leftBound.right + mTitlePadding; + bound.right = bound.left + w; + } + } + } + } + + //Now draw views + for (int i = 0; i < count; i++) { + //Get the title + RectF bound = bounds.get(i); + //Only if one side is visible + if ((bound.left > left && bound.left < right) || (bound.right > left && bound.right < right)) { + final boolean currentPage = (i == page); + //Only set bold if we are within bounds + mPaintText.setFakeBoldText(currentPage && currentBold && mBoldText); + + //Draw text as unselected + mPaintText.setColor(mColorText); + canvas.drawText(mTitleProvider.getTitle(i), bound.left, bound.bottom + mTopPadding, mPaintText); + + //If we are within the selected bounds draw the selected text + if (currentPage && currentSelected) { + mPaintText.setColor(mColorSelected); + mPaintText.setAlpha((int)((mColorSelected >>> 24) * selectedPercent)); + canvas.drawText(mTitleProvider.getTitle(i), bound.left, bound.bottom + mTopPadding, mPaintText); + } + } + } + + //Draw the footer line + mPath = new Path(); + mPath.moveTo(0, height - mFooterLineHeight / 2f); + mPath.lineTo(width, height - mFooterLineHeight / 2f); + mPath.close(); + canvas.drawPath(mPath, mPaintFooterLine); + + switch (mFooterIndicatorStyle) { + case Triangle: + mPath = new Path(); + mPath.moveTo(halfWidth, height - mFooterLineHeight - mFooterIndicatorHeight); + mPath.lineTo(halfWidth + mFooterIndicatorHeight, height - mFooterLineHeight); + mPath.lineTo(halfWidth - mFooterIndicatorHeight, height - mFooterLineHeight); + mPath.close(); + canvas.drawPath(mPath, mPaintFooterIndicator); + break; + + case Underline: + if (!currentSelected) { + break; + } + + RectF underlineBounds = bounds.get(page); + mPath = new Path(); + mPath.moveTo(underlineBounds.left - mFooterIndicatorUnderlinePadding, height - mFooterLineHeight); + mPath.lineTo(underlineBounds.right + mFooterIndicatorUnderlinePadding, height - mFooterLineHeight); + mPath.lineTo(underlineBounds.right + mFooterIndicatorUnderlinePadding, height - mFooterLineHeight - mFooterIndicatorHeight); + mPath.lineTo(underlineBounds.left - mFooterIndicatorUnderlinePadding, height - mFooterLineHeight - mFooterIndicatorHeight); + mPath.close(); + + mPaintFooterIndicator.setAlpha((int)(0xFF * selectedPercent)); + canvas.drawPath(mPath, mPaintFooterIndicator); + mPaintFooterIndicator.setAlpha(0xFF); + break; + } + } + + public boolean onTouchEvent(android.view.MotionEvent ev) { + if ((mViewPager == null) || (mViewPager.getAdapter().getCount() == 0)) { + return false; + } + + final int action = ev.getAction(); + + switch (action & MotionEventCompat.ACTION_MASK) { + case MotionEvent.ACTION_DOWN: + mActivePointerId = MotionEventCompat.getPointerId(ev, 0); + mLastMotionX = ev.getX(); + break; + + case MotionEvent.ACTION_MOVE: { + final int activePointerIndex = MotionEventCompat.findPointerIndex(ev, mActivePointerId); + final float x = MotionEventCompat.getX(ev, activePointerIndex); + final float deltaX = x - mLastMotionX; + + if (!mIsDragging) { + if (Math.abs(deltaX) > mTouchSlop) { + mIsDragging = true; + } + } + + if (mIsDragging) { + if (!mViewPager.isFakeDragging()) { + mViewPager.beginFakeDrag(); + } + + mLastMotionX = x; + + mViewPager.fakeDragBy(deltaX); + } + + break; + } + + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_UP: + if (!mIsDragging) { + final int count = mViewPager.getAdapter().getCount(); + final int width = getWidth(); + final float halfWidth = width / 2f; + final float sixthWidth = width / 6f; + final float leftThird = halfWidth - sixthWidth; + final float rightThird = halfWidth + sixthWidth; + final float eventX = ev.getX(); + + if (eventX < leftThird) { + if (mCurrentPage > 0) { + mViewPager.setCurrentItem(mCurrentPage - 1); + return true; + } + } else if (eventX > rightThird) { + if (mCurrentPage < count - 1) { + mViewPager.setCurrentItem(mCurrentPage + 1); + return true; + } + } else { + //Middle third + if (mCenterItemClickListener != null) { + mCenterItemClickListener.onCenterItemClick(mCurrentPage); + } + } + } + + mIsDragging = false; + mActivePointerId = INVALID_POINTER; + if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag(); + break; + + case MotionEventCompat.ACTION_POINTER_DOWN: { + final int index = MotionEventCompat.getActionIndex(ev); + final float x = MotionEventCompat.getX(ev, index); + mLastMotionX = x; + mActivePointerId = MotionEventCompat.getPointerId(ev, index); + break; + } + + case MotionEventCompat.ACTION_POINTER_UP: + final int pointerIndex = MotionEventCompat.getActionIndex(ev); + final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex); + if (pointerId == mActivePointerId) { + final int newPointerIndex = pointerIndex == 0 ? 1 : 0; + mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex); + } + mLastMotionX = MotionEventCompat.getX(ev, MotionEventCompat.findPointerIndex(ev, mActivePointerId)); + break; + } + + return true; + }; + + /** + * Set bounds for the right textView including clip padding. + * + * @param curViewBound + * current bounds. + * @param curViewWidth + * width of the view. + */ + private void clipViewOnTheRight(RectF curViewBound, float curViewWidth, int right) { + curViewBound.right = right - mClipPadding; + curViewBound.left = curViewBound.right - curViewWidth; + } + + /** + * Set bounds for the left textView including clip padding. + * + * @param curViewBound + * current bounds. + * @param curViewWidth + * width of the view. + */ + private void clipViewOnTheLeft(RectF curViewBound, float curViewWidth, int left) { + curViewBound.left = left + mClipPadding; + curViewBound.right = mClipPadding + curViewWidth; + } + + /** + * Calculate views bounds and scroll them according to the current index + * + * @param paint + * @param currentIndex + * @return + */ + private ArrayList calculateAllBounds(Paint paint) { + ArrayList list = new ArrayList(); + //For each views (If no values then add a fake one) + final int count = mViewPager.getAdapter().getCount(); + final int width = getWidth(); + final int halfWidth = width / 2; + for (int i = 0; i < count; i++) { + RectF bounds = calcBounds(i, paint); + float w = (bounds.right - bounds.left); + float h = (bounds.bottom - bounds.top); + bounds.left = (halfWidth) - (w / 2) - mCurrentOffset + ((i - mCurrentPage) * width); + bounds.right = bounds.left + w; + bounds.top = 0; + bounds.bottom = h; + list.add(bounds); + } + + return list; + } + + /** + * Calculate the bounds for a view's title + * + * @param index + * @param paint + * @return + */ + private RectF calcBounds(int index, Paint paint) { + //Calculate the text bounds + RectF bounds = new RectF(); + bounds.right = paint.measureText(mTitleProvider.getTitle(index)); + bounds.bottom = paint.descent() - paint.ascent(); + return bounds; + } + + @Override + public void setViewPager(ViewPager view) { + final PagerAdapter adapter = view.getAdapter(); + if (adapter == null) { + throw new IllegalStateException("ViewPager does not have adapter instance."); + } + if (!(adapter instanceof TitleProvider)) { + throw new IllegalStateException("ViewPager adapter must implement TitleProvider to be used with TitlePageIndicator."); + } + mViewPager = view; + mViewPager.setOnPageChangeListener(this); + mTitleProvider = (TitleProvider)adapter; + invalidate(); + } + + @Override + public void setViewPager(ViewPager view, int initialPosition) { + setViewPager(view); + setCurrentItem(initialPosition); + } + + @Override + public void notifyDataSetChanged() { + invalidate(); + } + + /** + * Set a callback listener for the center item click. + * + * @param listener Callback instance. + */ + public void setOnCenterItemClickListener(OnCenterItemClickListener listener) { + mCenterItemClickListener = listener; + } + + @Override + public void setCurrentItem(int item) { + if (mViewPager == null) { + throw new IllegalStateException("ViewPager has not been bound."); + } + mViewPager.setCurrentItem(item); + mCurrentPage = item; + invalidate(); + } + + @Override + public void onPageScrollStateChanged(int state) { + mScrollState = state; + + if (mListener != null) { + mListener.onPageScrollStateChanged(state); + } + } + + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + mCurrentPage = position; + mCurrentOffset = positionOffsetPixels; + invalidate(); + + if (mListener != null) { + mListener.onPageScrolled(position, positionOffset, positionOffsetPixels); + } + } + + @Override + public void onPageSelected(int position) { + if (mScrollState == ViewPager.SCROLL_STATE_IDLE) { + mCurrentPage = position; + invalidate(); + } + + if (mListener != null) { + mListener.onPageSelected(position); + } + } + + @Override + public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener) { + mListener = listener; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + //Measure our width in whatever mode specified + final int measuredWidth = MeasureSpec.getSize(widthMeasureSpec); + + //Determine our height + float height = 0; + final int heightSpecMode = MeasureSpec.getMode(heightMeasureSpec); + if (heightSpecMode == MeasureSpec.EXACTLY) { + //We were told how big to be + height = MeasureSpec.getSize(heightMeasureSpec); + } else { + //Calculate the text bounds + RectF bounds = new RectF(); + bounds.bottom = mPaintText.descent()-mPaintText.ascent(); + height = bounds.bottom - bounds.top + mFooterLineHeight + mFooterPadding + mTopPadding; + if (mFooterIndicatorStyle != IndicatorStyle.None) { + height += mFooterIndicatorHeight; + } + } + final int measuredHeight = (int)height; + + setMeasuredDimension(measuredWidth, measuredHeight); + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + SavedState savedState = (SavedState)state; + super.onRestoreInstanceState(savedState.getSuperState()); + mCurrentPage = savedState.currentPage; + requestLayout(); + } + + @Override + public Parcelable onSaveInstanceState() { + Parcelable superState = super.onSaveInstanceState(); + SavedState savedState = new SavedState(superState); + savedState.currentPage = mCurrentPage; + return savedState; + } + + static class SavedState extends BaseSavedState { + int currentPage; + + public SavedState(Parcelable superState) { + super(superState); + } + + private SavedState(Parcel in) { + super(in); + currentPage = in.readInt(); + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + super.writeToParcel(dest, flags); + dest.writeInt(currentPage); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + @Override + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } +} diff --git a/libs/ViewPagerIndicator/src/com/viewpagerindicator/TitleProvider.java b/libs/ViewPagerIndicator/src/com/viewpagerindicator/TitleProvider.java new file mode 100644 index 0000000..2a04b65 --- /dev/null +++ b/libs/ViewPagerIndicator/src/com/viewpagerindicator/TitleProvider.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2011 Patrik Akerfeldt + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.viewpagerindicator; + +/** + * A TitleProvider provides the title to display according to a view. + */ +public interface TitleProvider { + /** + * Returns the title of the view at position + * @param position + * @return + */ + public String getTitle(int position); +}