diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..377eef0da
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,18 @@
+language: java
+
+branches:
+ except:
+ - gh-pages
+
+notifications:
+ email: false
+
+before_install:
+ - wget http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz
+ - tar -zxf android-sdk_r21.0.1-linux.tgz
+ - export ANDROID_HOME=~/builds/JakeWharton/Android-ViewPagerIndicator/android-sdk-linux
+ - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
+ - TOOLS=$(android list sdk --no-ui | grep "Android SDK Platform-tools" | cut -d"-" -f1)
+ - android update sdk --filter "$TOOLS" --no-ui --force
+ - SDK=$(android list sdk --no-ui | grep ", API 16," | cut -d"-" -f1)
+ - android update sdk --filter "$SDK" --no-ui --force
diff --git a/library/pom.xml b/library/pom.xml
index 0360f9bae..9b8f314ee 100644
--- a/library/pom.xml
+++ b/library/pom.xml
@@ -1,57 +1,40 @@
- 4.0.0
+ 4.0.0
- library
- Android-ViewPagerIndicator
- apklib
+ library
+ ViewPagerIndicator
+ apklib
-
- com.viewpagerindicator
- parent
- 2.4.1
- ../pom.xml
-
-
-
-
- com.google.android
- android
- provided
-
+
+ com.viewpagerindicator
+ parent
+ 2.4.2-SNAPSHOT
+ ../pom.xml
+
-
- com.google.android
- support-v4
-
-
+
+
+ com.google.android
+ android
+ provided
+
+
+ com.google.android
+ support-v4
+
+
-
- src
+
+ src
-
-
- com.jayway.maven.plugins.android.generation2
- android-maven-plugin
- true
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
-
- ../checkstyle.xml
-
-
-
- verify
-
- checkstyle
-
-
-
-
-
-
+
+
+ com.jayway.maven.plugins.android.generation2
+ android-maven-plugin
+ true
+
+
+
diff --git a/library/res/values/vpi__attrs.xml b/library/res/values/vpi__attrs.xml
index a4d1f1093..8b1ccdb92 100644
--- a/library/res/values/vpi__attrs.xml
+++ b/library/res/values/vpi__attrs.xml
@@ -47,6 +47,8 @@
+
+
diff --git a/library/res/values/vpi__defaults.xml b/library/res/values/vpi__defaults.xml
index e4d44cbff..327959597 100644
--- a/library/res/values/vpi__defaults.xml
+++ b/library/res/values/vpi__defaults.xml
@@ -20,6 +20,7 @@
#00000000
0
3dp
+ 0dp
false
#FFDDDDDD
1dp
diff --git a/library/src/com/viewpagerindicator/CirclePageIndicator.java b/library/src/com/viewpagerindicator/CirclePageIndicator.java
index f441e89fd..885daaa6a 100644
--- a/library/src/com/viewpagerindicator/CirclePageIndicator.java
+++ b/library/src/com/viewpagerindicator/CirclePageIndicator.java
@@ -45,6 +45,7 @@ public class CirclePageIndicator extends View implements PageIndicator {
private static final int INVALID_POINTER = -1;
private float mRadius;
+ private float mGap;
private final Paint mPaintPageFill = new Paint(ANTI_ALIAS_FLAG);
private final Paint mPaintStroke = new Paint(ANTI_ALIAS_FLAG);
private final Paint mPaintFill = new Paint(ANTI_ALIAS_FLAG);
@@ -84,6 +85,7 @@ public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
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 float defaultGap = res.getDimension(R.dimen.default_circle_indicator_gap);
final boolean defaultCentered = res.getBoolean(R.bool.default_circle_indicator_centered);
final boolean defaultSnap = res.getBoolean(R.bool.default_circle_indicator_snap);
@@ -100,6 +102,7 @@ public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
mPaintFill.setStyle(Style.FILL);
mPaintFill.setColor(a.getColor(R.styleable.CirclePageIndicator_fillColor, defaultFillColor));
mRadius = a.getDimension(R.styleable.CirclePageIndicator_radius, defaultRadius);
+ mGap = a.getDimension(R.styleable.CirclePageIndicator_gap, defaultGap);
mSnap = a.getBoolean(R.styleable.CirclePageIndicator_snap, defaultSnap);
Drawable background = a.getDrawable(R.styleable.CirclePageIndicator_android_background);
@@ -185,6 +188,15 @@ public float getRadius() {
return mRadius;
}
+ public void setGap(float gap) {
+ mGap = gap;
+ invalidate();
+ }
+
+ public float getGapSize() {
+ return mGap;
+ }
+
public void setSnap(boolean snap) {
mSnap = snap;
invalidate();
@@ -227,9 +239,9 @@ protected void onDraw(Canvas canvas) {
shortPaddingBefore = getPaddingLeft();
}
- final float threeRadius = mRadius * 3;
+ final float threeRadius = mRadius * 3 + mGap;
final float shortOffset = shortPaddingBefore + mRadius;
- float longOffset = longPaddingBefore + mRadius;
+ float longOffset = longPaddingBefore + mRadius + mGap;
if (mCentered) {
longOffset += ((longSize - longPaddingBefore - longPaddingAfter) / 2.0f) - ((count * threeRadius) / 2.0f);
}
diff --git a/pom.xml b/pom.xml
index 2bc576408..146ebe175 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,167 +1,177 @@
- 4.0.0
-
-
- org.sonatype.oss
- oss-parent
- 7
-
-
- com.viewpagerindicator
- parent
- pom
- 2.4.1
-
- Android-ViewPagerIndicator (Parent)
- Android library for.
- https://github.com/JakeWharton/Android-ViewPagerIndicator
- 2011
-
-
- library
- sample
-
-
-
- http://github.com/JakeWharton/Android-ViewPagerIndicator/
- scm:git:git://github.com/JakeWharton/Android-ViewPagerIndicator.git
- scm:git:git@github.com:JakeWharton/Android-ViewPagerIndicator.git
-
-
-
-
- Jake Wharton
- jakewharton@gmail.com
- jakewharton
- http://jakewharton.com
- -5
-
- developer
-
-
-
-
-
-
- Apache License Version 2.0
- http://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
-
- Jake Wharton
- http://jakewharton.com
-
-
-
- GitHub Issues
- https://github.com/JakeWharton/Android-ViewPagerIndicator/issues
-
-
-
- UTF-8
- UTF-8
-
- 1.6
- 4.1.1.4
- 16
- r7
-
- 3.3.0
-
-
-
-
-
- com.google.android
- android
- ${android.version}
-
-
-
- com.google.android
- support-v4
- ${android.support.version}
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 2.3.2
-
- ${java.version}
- ${java.version}
-
-
-
-
- com.jayway.maven.plugins.android.generation2
- android-maven-plugin
- ${android-maven.version}
-
-
- ${android.platform}
-
- true
-
- true
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- 2.6
-
- true
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-release-plugin
- 2.1
-
- true
-
-
-
-
- org.apache.maven.plugins
- maven-eclipse-plugin
- 2.9
-
-
- android:android
- com.google.android.maps:maps
-
- bin
-
- com.android.ide.eclipse.adt.ANDROID_FRAMEWORK
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.ajdt.ui.ajnature
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
- com.android.ide.eclipse.adt.PreCompilerBuilder
- org.eclipse.jdt.core.javabuilder
- com.android.ide.eclipse.adt.ApkBuilder
-
- false
-
-
-
-
+ 4.0.0
+
+
+ org.sonatype.oss
+ oss-parent
+ 7
+
+
+ com.viewpagerindicator
+ parent
+ pom
+ 2.4.2-SNAPSHOT
+
+ ViewPagerIndicator (Parent)
+ Android library for.
+ https://github.com/JakeWharton/Android-ViewPagerIndicator
+ 2011
+
+
+ library
+ sample
+
+
+
+ http://github.com/JakeWharton/Android-ViewPagerIndicator/
+ scm:git:git://github.com/JakeWharton/Android-ViewPagerIndicator.git
+ scm:git:git@github.com:JakeWharton/Android-ViewPagerIndicator.git
+
+
+
+
+ Jake Wharton
+ jakewharton@gmail.com
+ jakewharton
+ http://jakewharton.com
+ -5
+
+ developer
+
+
+
+
+
+
+ Apache License Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+ Jake Wharton
+ http://jakewharton.com
+
+
+
+ GitHub Issues
+ https://github.com/JakeWharton/Android-ViewPagerIndicator/issues
+
+
+
+ UTF-8
+ UTF-8
+
+ 1.6
+ 4.1.1.4
+ 16
+ r7
+
+ 3.5.0
+
+
+
+
+
+ com.google.android
+ android
+ ${android.version}
+
+
+
+ com.google.android
+ support-v4
+ ${android.support.version}
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.0
+
+ ${java.version}
+ ${java.version}
+
+
+
+
+ com.jayway.maven.plugins.android.generation2
+ android-maven-plugin
+ ${android-maven.version}
+
+ ignored
+
+ ${android.platform}
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ 2.6
+
+ checkstyle.xml
+ true
+ true
+
+
+
+ verify
+
+ checkstyle
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-release-plugin
+ 2.1
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-eclipse-plugin
+ 2.9
+
+
+ android:android
+ com.google.android.maps:maps
+
+ bin
+
+ com.android.ide.eclipse.adt.ANDROID_FRAMEWORK
+
+
+ com.android.ide.eclipse.adt.AndroidNature
+ org.eclipse.ajdt.ui.ajnature
+
+
+ com.android.ide.eclipse.adt.ResourceManagerBuilder
+ com.android.ide.eclipse.adt.PreCompilerBuilder
+ org.eclipse.jdt.core.javabuilder
+ com.android.ide.eclipse.adt.ApkBuilder
+
+ false
+
+
+
+
diff --git a/sample/pom.xml b/sample/pom.xml
index 1d09ba1ac..afb6c1df3 100644
--- a/sample/pom.xml
+++ b/sample/pom.xml
@@ -1,102 +1,81 @@
- 4.0.0
+ 4.0.0
- sample
- Android-ViewPagerIndicator Sample
- apk
+ sample
+ ViewPagerIndicator Sample
+ apk
-
- com.viewpagerindicator
- parent
- 2.4.1
- ../pom.xml
-
+
+ com.viewpagerindicator
+ parent
+ 2.4.2-SNAPSHOT
+ ../pom.xml
+
-
-
- com.google.android
- android
- provided
-
+
+
+ com.google.android
+ android
+ provided
+
-
- com.google.android
- support-v4
-
+
+ ${project.groupId}
+ library
+ ${project.version}
+ apklib
+
+
-
- com.viewpagerindicator
- library
- ${project.version}
- apklib
-
-
+
+ src
+ ${project.artifactId}-unaligned
-
- src
- ${project.artifactId}-unaligned
+
+
+ com.jayway.maven.plugins.android.generation2
+ android-maven-plugin
+ true
+
+
+
-
-
- com.jayway.maven.plugins.android.generation2
- android-maven-plugin
- true
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
-
- ../checkstyle.xml
-
-
-
- verify
-
- checkstyle
-
-
-
-
-
-
-
-
-
- release
-
-
- performRelease
- true
-
-
-
-
-
- com.jayway.maven.plugins.android.generation2
- android-maven-plugin
- ${android-maven.version}
- true
-
-
- ${project.build.directory}/${project.build.finalName}.apk
- ${project.build.directory}/${project.artifactId}.apk
-
-
-
-
- alignApk
- package
-
- zipalign
-
-
-
-
-
-
-
-
+
+
+ release
+
+
+ performRelease
+ true
+
+
+
+
+
+ com.jayway.maven.plugins.android.generation2
+ android-maven-plugin
+ ${android-maven.version}
+ true
+
+
+ ${project.build.directory}/${project.build.finalName}.apk
+ ${project.build.directory}/${project.artifactId}.apk
+
+
+
+
+ alignApk
+ package
+
+ zipalign
+
+
+
+
+
+
+
+
diff --git a/sample/res/layout/themed_circles.xml b/sample/res/layout/themed_circles.xml
index 5978db9f0..8e9229c76 100644
--- a/sample/res/layout/themed_circles.xml
+++ b/sample/res/layout/themed_circles.xml
@@ -34,6 +34,7 @@
android:layout_width="fill_parent"
android:background="#FFCCCCCC"
app:radius="10dp"
+ app:gap="15dp"
app:fillColor="#FF888888"
app:pageColor="#88FF0000"
app:strokeColor="#FF000000"
diff --git a/sample/src/com/viewpagerindicator/sample/SampleCirclesStyledMethods.java b/sample/src/com/viewpagerindicator/sample/SampleCirclesStyledMethods.java
index 2ed8b05f4..a4b25cce0 100644
--- a/sample/src/com/viewpagerindicator/sample/SampleCirclesStyledMethods.java
+++ b/sample/src/com/viewpagerindicator/sample/SampleCirclesStyledMethods.java
@@ -22,6 +22,7 @@ protected void onCreate(Bundle savedInstanceState) {
final float density = getResources().getDisplayMetrics().density;
indicator.setBackgroundColor(0xFFCCCCCC);
indicator.setRadius(10 * density);
+ indicator.setGap(15 * density);
indicator.setPageColor(0x880000FF);
indicator.setFillColor(0xFF888888);
indicator.setStrokeColor(0xFF000000);