@@ -191,62 +191,59 @@ public void setLoadingText(CharSequence loadingText) {
191
191
*/
192
192
public void upThrow () {
193
193
194
- ObjectAnimator objectAnimator = ObjectAnimator .ofFloat (mShapeLoadingView , "translationY" , mDistance , 0 );
195
- ObjectAnimator scaleIndication = ObjectAnimator .ofFloat (mIndicationIm , "scaleX" , 0.2f , 1 );
194
+ if (mUpAnimatorSet == null ) {
195
+ ObjectAnimator objectAnimator = ObjectAnimator .ofFloat (mShapeLoadingView , "translationY" , mDistance , 0 );
196
+ ObjectAnimator scaleIndication = ObjectAnimator .ofFloat (mIndicationIm , "scaleX" , 0.2f , 1 );
196
197
198
+ ObjectAnimator objectAnimator1 = null ;
199
+ switch (mShapeLoadingView .getShape ()) {
200
+ case SHAPE_RECT :
197
201
198
- ObjectAnimator objectAnimator1 = null ;
199
- switch (mShapeLoadingView .getShape ()) {
200
- case SHAPE_RECT :
202
+ objectAnimator1 = ObjectAnimator .ofFloat (mShapeLoadingView , "rotation" , 0 , -120 );
201
203
204
+ break ;
205
+ case SHAPE_CIRCLE :
206
+ objectAnimator1 = ObjectAnimator .ofFloat (mShapeLoadingView , "rotation" , 0 , 180 );
202
207
203
- objectAnimator1 = ObjectAnimator .ofFloat (mShapeLoadingView , "rotation" , 0 , -120 );
208
+ break ;
209
+ case SHAPE_TRIANGLE :
204
210
205
- break ;
206
- case SHAPE_CIRCLE :
207
- objectAnimator1 = ObjectAnimator .ofFloat (mShapeLoadingView , "rotation" , 0 , 180 );
211
+ objectAnimator1 = ObjectAnimator .ofFloat (mShapeLoadingView , "rotation" , 0 , 180 );
208
212
209
- break ;
210
- case SHAPE_TRIANGLE :
211
-
212
- objectAnimator1 = ObjectAnimator .ofFloat (mShapeLoadingView , "rotation" , 0 , 180 );
213
-
214
- break ;
215
- }
216
-
217
-
218
- objectAnimator .setDuration (ANIMATION_DURATION );
219
- objectAnimator1 .setDuration (ANIMATION_DURATION );
220
- objectAnimator .setInterpolator (new DecelerateInterpolator (factor ));
221
- objectAnimator1 .setInterpolator (new DecelerateInterpolator (factor ));
222
- mUpAnimatorSet = new AnimatorSet ();
223
- mUpAnimatorSet .setDuration (ANIMATION_DURATION );
224
- mUpAnimatorSet .playTogether (objectAnimator , objectAnimator1 , scaleIndication );
213
+ break ;
214
+ }
225
215
216
+ objectAnimator .setDuration (ANIMATION_DURATION );
217
+ objectAnimator1 .setDuration (ANIMATION_DURATION );
218
+ objectAnimator .setInterpolator (new DecelerateInterpolator (factor ));
219
+ objectAnimator1 .setInterpolator (new DecelerateInterpolator (factor ));
220
+ mUpAnimatorSet = new AnimatorSet ();
221
+ mUpAnimatorSet .setDuration (ANIMATION_DURATION );
222
+ mUpAnimatorSet .playTogether (objectAnimator , objectAnimator1 , scaleIndication );
226
223
227
- mUpAnimatorSet .addListener (new Animator .AnimatorListener () {
228
- @ Override
229
- public void onAnimationStart (Animator animation ) {
224
+ mUpAnimatorSet .addListener (new Animator .AnimatorListener () {
225
+ @ Override
226
+ public void onAnimationStart (Animator animation ) {
230
227
231
- }
228
+ }
232
229
233
- @ Override
234
- public void onAnimationEnd (Animator animation ) {
235
- freeFall ();
230
+ @ Override
231
+ public void onAnimationEnd (Animator animation ) {
232
+ freeFall ();
236
233
234
+ }
237
235
238
- }
236
+ @ Override
237
+ public void onAnimationCancel (Animator animation ) {
239
238
240
- @ Override
241
- public void onAnimationCancel (Animator animation ) {
242
-
243
- }
239
+ }
244
240
245
- @ Override
246
- public void onAnimationRepeat (Animator animation ) {
241
+ @ Override
242
+ public void onAnimationRepeat (Animator animation ) {
247
243
248
- }
249
- });
244
+ }
245
+ });
246
+ }
250
247
mUpAnimatorSet .start ();
251
248
252
249
@@ -259,39 +256,39 @@ public void onAnimationRepeat(Animator animation) {
259
256
*/
260
257
public void freeFall () {
261
258
262
- ObjectAnimator objectAnimator = ObjectAnimator .ofFloat (mShapeLoadingView , "translationY" , 0 , mDistance );
263
- ObjectAnimator scaleIndication = ObjectAnimator .ofFloat (mIndicationIm , "scaleX" , 1 , 0.2f );
259
+ if (mDownAnimatorSet == null ) {
260
+ ObjectAnimator objectAnimator = ObjectAnimator .ofFloat (mShapeLoadingView , "translationY" , 0 , mDistance );
261
+ ObjectAnimator scaleIndication = ObjectAnimator .ofFloat (mIndicationIm , "scaleX" , 1 , 0.2f );
264
262
263
+ objectAnimator .setDuration (ANIMATION_DURATION );
264
+ objectAnimator .setInterpolator (new AccelerateInterpolator (factor ));
265
+ mDownAnimatorSet = new AnimatorSet ();
266
+ mDownAnimatorSet .setDuration (ANIMATION_DURATION );
267
+ mDownAnimatorSet .playTogether (objectAnimator , scaleIndication );
268
+ mDownAnimatorSet .addListener (new Animator .AnimatorListener () {
269
+ @ Override
270
+ public void onAnimationStart (Animator animation ) {
265
271
266
- objectAnimator .setDuration (ANIMATION_DURATION );
267
- objectAnimator .setInterpolator (new AccelerateInterpolator (factor ));
268
- mDownAnimatorSet = new AnimatorSet ();
269
- mDownAnimatorSet .setDuration (ANIMATION_DURATION );
270
- mDownAnimatorSet .playTogether (objectAnimator , scaleIndication );
271
- mDownAnimatorSet .addListener (new Animator .AnimatorListener () {
272
- @ Override
273
- public void onAnimationStart (Animator animation ) {
272
+ }
274
273
275
- }
274
+ @ Override
275
+ public void onAnimationEnd (Animator animation ) {
276
276
277
- @ Override
278
- public void onAnimationEnd (Animator animation ) {
277
+ mShapeLoadingView .changeShape ();
278
+ upThrow ();
279
+ }
279
280
281
+ @ Override
282
+ public void onAnimationCancel (Animator animation ) {
280
283
281
- mShapeLoadingView .changeShape ();
282
- upThrow ();
283
- }
284
+ }
284
285
285
- @ Override
286
- public void onAnimationCancel (Animator animation ) {
286
+ @ Override
287
+ public void onAnimationRepeat (Animator animation ) {
287
288
288
- }
289
-
290
- @ Override
291
- public void onAnimationRepeat (Animator animation ) {
292
-
293
- }
294
- });
289
+ }
290
+ });
291
+ }
295
292
mDownAnimatorSet .start ();
296
293
297
294
0 commit comments