summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/viewpagerindicator/CirclePageIndicator.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/com/viewpagerindicator/CirclePageIndicator.java b/src/com/viewpagerindicator/CirclePageIndicator.java
index 8310d58..b4b439a 100644
--- a/src/com/viewpagerindicator/CirclePageIndicator.java
+++ b/src/com/viewpagerindicator/CirclePageIndicator.java
@@ -58,6 +58,7 @@ public class CirclePageIndicator extends View implements PageIndicator {
private int mOrientation;
private boolean mCentered;
private boolean mSnap;
+ private float mSpacing;
private int mTouchSlop;
private float mLastMotionX = -1;
@@ -87,6 +88,7 @@ public class CirclePageIndicator extends View implements PageIndicator {
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);
+ final float defaultSpacing = res.getDimension(R.dimen.default_circle_indicator_spacing);
//Retrieve styles attributes
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CirclePageIndicator, defStyle, 0);
@@ -102,6 +104,7 @@ public class CirclePageIndicator extends View implements PageIndicator {
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);
+ mSpacing = a.getDimension(R.styleable.CirclePageIndicator_spacing, defaultSpacing);
Drawable background = a.getDrawable(R.styleable.CirclePageIndicator_android_background);
if (background != null) {
@@ -228,11 +231,10 @@ public class CirclePageIndicator extends View implements PageIndicator {
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);
+ longOffset += ((longSize - longPaddingBefore - longPaddingAfter) / 2.0f) - ((count * mSpacing) / 2.0f);
}
float dX;
@@ -245,7 +247,7 @@ public class CirclePageIndicator extends View implements PageIndicator {
//Draw stroked circles
for (int iLoop = 0; iLoop < count; iLoop++) {
- float drawLong = longOffset + (iLoop * threeRadius);
+ float drawLong = longOffset + (iLoop * mSpacing);
if (mOrientation == HORIZONTAL) {
dX = drawLong;
dY = shortOffset;
@@ -265,9 +267,9 @@ public class CirclePageIndicator extends View implements PageIndicator {
}
//Draw the filled circle according to the current scroll
- float cx = (mSnap ? mSnapPage : mCurrentPage) * threeRadius;
+ float cx = (mSnap ? mSnapPage : mCurrentPage) * mSpacing;
if (!mSnap) {
- cx += mPageOffset * threeRadius;
+ cx += mPageOffset * mSpacing;
}
if (mOrientation == HORIZONTAL) {
dX = longOffset + cx;