@@ -46,54 +46,12 @@ public BezierPagerIndicator(Context context) {
46
46
init (context );
47
47
}
48
48
49
- public void setStartInterpolator (Interpolator startInterpolator ) {
50
- mStartInterpolator = startInterpolator ;
51
- if (mStartInterpolator == null ) {
52
- mStartInterpolator = new AccelerateInterpolator ();
53
- }
54
- }
55
-
56
- public void setEndInterpolator (Interpolator endInterpolator ) {
57
- mEndInterpolator = endInterpolator ;
58
- if (mEndInterpolator == null ) {
59
- mEndInterpolator = new DecelerateInterpolator ();
60
- }
61
- }
62
-
63
49
private void init (Context context ) {
64
50
mPaint = new Paint (Paint .ANTI_ALIAS_FLAG );
65
51
mPaint .setStyle (Paint .Style .FILL );
66
- setMaxCircleRadius (UIUtil .dip2px (context , 3.5 ));
67
- setMinCircleRadius (UIUtil .dip2px (context , 2 ));
68
- setYOffset (UIUtil .dip2px (context , 1.5 ));
69
- }
70
-
71
- public float getMaxCircleRadius () {
72
- return mMaxCircleRadius ;
73
- }
74
-
75
- public void setMaxCircleRadius (float maxCircleRadius ) {
76
- mMaxCircleRadius = maxCircleRadius ;
77
- }
78
-
79
- public float getMinCircleRadius () {
80
- return mMinCircleRadius ;
81
- }
82
-
83
- public void setMinCircleRadius (float minCircleRadius ) {
84
- mMinCircleRadius = minCircleRadius ;
85
- }
86
-
87
- public float getYOffset () {
88
- return mYOffset ;
89
- }
90
-
91
- public void setYOffset (float yOffset ) {
92
- mYOffset = yOffset ;
93
- }
94
-
95
- public void setColorList (List <String > colorList ) {
96
- mColorList = colorList ;
52
+ mMaxCircleRadius = UIUtil .dip2px (context , 3.5 );
53
+ mMinCircleRadius = UIUtil .dip2px (context , 2 );
54
+ mYOffset = UIUtil .dip2px (context , 1.5 );
97
55
}
98
56
99
57
@ Override
@@ -120,22 +78,6 @@ private void drawBezierCurve(Canvas canvas) {
120
78
canvas .drawPath (mPath , mPaint );
121
79
}
122
80
123
- protected void setLeftCircleX (float leftCircleX ) {
124
- mLeftCircleX = leftCircleX ;
125
- }
126
-
127
- protected void setLeftCircleRadius (float leftCircleRadius ) {
128
- mLeftCircleRadius = leftCircleRadius ;
129
- }
130
-
131
- protected void setRightCircleRadius (float rightCircleRadius ) {
132
- mRightCircleRadius = rightCircleRadius ;
133
- }
134
-
135
- protected void setRightCircleX (float rightCircleX ) {
136
- mRightCircleX = rightCircleX ;
137
- }
138
-
139
81
@ Override
140
82
public void onPageScrolled (int position , float positionOffset , int positionOffsetPixels ) {
141
83
if (mPositionDataList == null || mPositionDataList .isEmpty ()) {
@@ -159,17 +101,10 @@ public void onPageScrolled(int position, float positionOffset, int positionOffse
159
101
float leftX = current .mLeft + (current .mRight - current .mLeft ) / 2 ;
160
102
float rightX = next .mLeft + (next .mRight - next .mLeft ) / 2 ;
161
103
162
- float rightCircleX = leftX + (rightX - leftX ) * mEndInterpolator .getInterpolation (positionOffset );
163
- setRightCircleX (rightCircleX );
164
-
165
- float LeftCircleX = leftX + (rightX - leftX ) * mStartInterpolator .getInterpolation (positionOffset );
166
- setLeftCircleX (LeftCircleX );
167
-
168
- float rightCircleRadius = mMinCircleRadius + (mMaxCircleRadius - mMinCircleRadius ) * mStartInterpolator .getInterpolation (positionOffset );
169
- setRightCircleRadius (rightCircleRadius );
170
-
171
- float leftCircleRadius = mMaxCircleRadius + (mMinCircleRadius - mMaxCircleRadius ) * mEndInterpolator .getInterpolation (positionOffset );
172
- setLeftCircleRadius (leftCircleRadius );
104
+ mLeftCircleX = leftX + (rightX - leftX ) * mStartInterpolator .getInterpolation (positionOffset );
105
+ mRightCircleX = leftX + (rightX - leftX ) * mEndInterpolator .getInterpolation (positionOffset );
106
+ mLeftCircleRadius = mMaxCircleRadius + (mMinCircleRadius - mMaxCircleRadius ) * mEndInterpolator .getInterpolation (positionOffset );
107
+ mRightCircleRadius = mMinCircleRadius + (mMaxCircleRadius - mMinCircleRadius ) * mStartInterpolator .getInterpolation (positionOffset );
173
108
174
109
invalidate ();
175
110
}
@@ -186,4 +121,46 @@ public void onPageScrollStateChanged(int state) {
186
121
public void onPositionDataProvide (List <PositionData > dataList ) {
187
122
mPositionDataList = dataList ;
188
123
}
124
+
125
+ public float getMaxCircleRadius () {
126
+ return mMaxCircleRadius ;
127
+ }
128
+
129
+ public void setMaxCircleRadius (float maxCircleRadius ) {
130
+ mMaxCircleRadius = maxCircleRadius ;
131
+ }
132
+
133
+ public float getMinCircleRadius () {
134
+ return mMinCircleRadius ;
135
+ }
136
+
137
+ public void setMinCircleRadius (float minCircleRadius ) {
138
+ mMinCircleRadius = minCircleRadius ;
139
+ }
140
+
141
+ public float getYOffset () {
142
+ return mYOffset ;
143
+ }
144
+
145
+ public void setYOffset (float yOffset ) {
146
+ mYOffset = yOffset ;
147
+ }
148
+
149
+ public void setColorList (List <String > colorList ) {
150
+ mColorList = colorList ;
151
+ }
152
+
153
+ public void setStartInterpolator (Interpolator startInterpolator ) {
154
+ mStartInterpolator = startInterpolator ;
155
+ if (mStartInterpolator == null ) {
156
+ mStartInterpolator = new AccelerateInterpolator ();
157
+ }
158
+ }
159
+
160
+ public void setEndInterpolator (Interpolator endInterpolator ) {
161
+ mEndInterpolator = endInterpolator ;
162
+ if (mEndInterpolator == null ) {
163
+ mEndInterpolator = new DecelerateInterpolator ();
164
+ }
165
+ }
189
166
}
0 commit comments