From 782c92821fe64f1838f3a4387640dcc04163e97b Mon Sep 17 00:00:00 2001 From: daimajia Date: Tue, 21 Feb 2017 11:33:31 +0800 Subject: [PATCH 01/11] no more eclipse.[C --- README.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/README.md b/README.md index 8c7b73b..5e6eb6f 100644 --- a/README.md +++ b/README.md @@ -47,13 +47,6 @@ dependencies { ``` -#### Eclipse - -Download the following jars, and copy them into your `libs` directory. - -- [`AndroidEasingFunctions-1.0.0`](https://github.com/daimajia/AndroidViewAnimations/releases/download/v1.0.6/AndroidEasingFunctions-1.0.0.jar) -- [`AndroidViewAnimations-1.1.3`](https://github.com/daimajia/AndroidViewAnimations/releases/download/v1.1.3/AndroidViewAnimations-1.1.3.jar) - ## Step 2 Just like play Yo-yo. From a7b6ea43aadc7944f1ad6f68e68fecc7b5fe8554 Mon Sep 17 00:00:00 2001 From: daimajia Date: Tue, 21 Feb 2017 15:43:14 +0800 Subject: [PATCH 02/11] Support YoYo repeat method. fix #22 --- .../androidanimations/MyActivity.java | 63 ++++++++++--------- .../library/BaseViewAnimator.java | 5 ++ .../androidanimations/library/YoYo.java | 51 +++++++++++++++ 3 files changed, 89 insertions(+), 30 deletions(-) diff --git a/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java b/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java index 4e7483a..0741518 100644 --- a/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java +++ b/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java @@ -27,7 +27,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); - mListView = (ListView)findViewById(R.id.list_items); + mListView = (ListView) findViewById(R.id.list_items); mTarget = findViewById(R.id.hello_world); mAdapter = new EffectAdapter(this); @@ -36,39 +36,42 @@ protected void onCreate(Bundle savedInstanceState) { mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - Techniques technique = (Techniques)view.getTag(); - rope = YoYo.with(technique) - .duration(1200) - .interpolate(new AccelerateDecelerateInterpolator()) - .withListener(new Animator.AnimatorListener() { - @Override - public void onAnimationStart(Animator animation) { - - } - - @Override - public void onAnimationEnd(Animator animation) { - - } - - @Override - public void onAnimationCancel(Animator animation) { - Toast.makeText(MyActivity.this, "canceled", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onAnimationRepeat(Animator animation) { - - } - }) - .playOn(mTarget); + if (rope != null) { + rope.stop(true); + } + Techniques technique = (Techniques) view.getTag(); + rope = YoYo.with(technique) + .duration(1200) + .repeat(YoYo.INFINITE) + .interpolate(new AccelerateDecelerateInterpolator()) + .withListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + + } + + @Override + public void onAnimationEnd(Animator animation) { + } + + @Override + public void onAnimationCancel(Animator animation) { + Toast.makeText(MyActivity.this, "canceled previous animation", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + }) + .playOn(mTarget); } }); findViewById(R.id.hello_world).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (rope != null) { - rope.stop(true); + rope.stop(true); } } }); @@ -76,7 +79,7 @@ public void onClick(View v) { @Override public void onWindowFocusChanged(boolean hasFocus) { - if(hasFocus){ + if (hasFocus) { rope = YoYo.with(Techniques.FadeIn).duration(1000).playOn(mTarget);// after start,just click mTarget view, rope is not init } } @@ -96,7 +99,7 @@ public boolean onOptionsItemSelected(MenuItem item) { // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { - startActivity(new Intent(this,ExampleActivity.class)); + startActivity(new Intent(this, ExampleActivity.class)); return true; } return super.onOptionsItemSelected(item); diff --git a/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java b/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java index b4a25ba..ea1801b 100644 --- a/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java +++ b/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java @@ -55,6 +55,11 @@ public void animate() { start(); } + public void restart() { + mAnimatorSet = mAnimatorSet.clone(); + start(); + } + /** * reset the view to default status * diff --git a/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java b/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java index 3c63f4f..910dc0c 100644 --- a/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java +++ b/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java @@ -37,10 +37,13 @@ public class YoYo { private static final long DURATION = BaseViewAnimator.DURATION; private static final long NO_DELAY = 0; + public static final int INFINITE = -1; private BaseViewAnimator animator; private long duration; private long delay; + private boolean repeat; + private long repeatTimes; private Interpolator interpolator; private List callbacks; private View target; @@ -49,6 +52,8 @@ private YoYo(AnimationComposer animationComposer) { animator = animationComposer.animator; duration = animationComposer.duration; delay = animationComposer.delay; + repeat = animationComposer.repeat; + repeatTimes = animationComposer.repeatTimes; interpolator = animationComposer.interpolator; callbacks = animationComposer.callbacks; target = animationComposer.target; @@ -86,11 +91,14 @@ public void onAnimationRepeat(Animator animation) { public static final class AnimationComposer { + private List callbacks = new ArrayList<>(); private BaseViewAnimator animator; private long duration = DURATION; private long delay = NO_DELAY; + private boolean repeat = false; + private long repeatTimes = 0; private Interpolator interpolator; private View target; @@ -118,6 +126,16 @@ public AnimationComposer interpolate(Interpolator interpolator) { } + public AnimationComposer repeat(int times) { + if (times < INFINITE) { + throw new RuntimeException("Can not be less than -1, -1 is infinite loop"); + } + repeat = times != 0; + repeatTimes = times; + return this; + } + + public AnimationComposer withListener(Animator.AnimatorListener listener) { callbacks.add(listener); return this; @@ -200,6 +218,7 @@ public void stop(boolean reset) { } + private BaseViewAnimator play() { animator.setTarget(target); animator.setDuration(duration) @@ -212,6 +231,38 @@ private BaseViewAnimator play() { } } + if (repeat) { + animator.addAnimatorListener(new Animator.AnimatorListener() { + + private long currentTimes = 0; + + @Override + public void onAnimationStart(Animator animation) { + currentTimes++; + } + + @Override + public void onAnimationEnd(Animator animation) { + if (!repeat) { + return; + } + if (repeatTimes == INFINITE || currentTimes < repeatTimes) { + animator.restart(); + } + } + + @Override + public void onAnimationCancel(Animator animation) { + repeatTimes = 0; + repeat = false; + } + + @Override + public void onAnimationRepeat(Animator animation) { + } + }); + } + animator.animate(); return animator; } From 6cc5684c4859800cf9c2923c71ddb1d8c50496b9 Mon Sep 17 00:00:00 2001 From: daimajia Date: Tue, 21 Feb 2017 15:48:03 +0800 Subject: [PATCH 03/11] add repeat method readme. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5e6eb6f..8e07805 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ Just like play Yo-yo. ```java YoYo.with(Techniques.Tada) .duration(700) + .repeat(5) .playOn(findViewById(R.id.edit_area)); ``` From 25f832ab985ac855d6aa21c5d75558ff8be1c70f Mon Sep 17 00:00:00 2001 From: daimajia Date: Tue, 21 Feb 2017 15:59:23 +0800 Subject: [PATCH 04/11] upgrade to v2.1 --- README.md | 4 ++-- gradle.properties | 4 ++-- library/build.gradle | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8e07805..97dbe98 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ For making animations more real, I created another project named [Android Easing dependencies { compile 'com.android.support:support-compat:25.1.1' compile 'com.daimajia.easing:library:2.0@aar' - compile 'com.daimajia.androidanimations:library:2.0@aar' + compile 'com.daimajia.androidanimations:library:2.1@aar' } ``` #### Maven @@ -38,7 +38,7 @@ dependencies { com.daimajia.androidanimation library - 2.0 + 2.1 com.daimajia.easing diff --git a/gradle.properties b/gradle.properties index 56d6972..b4182c4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,8 +18,8 @@ # org.gradle.parallel=true -VERSION_NAME=2.0 -VERSION_CODE=20 +VERSION_NAME=2.1 +VERSION_CODE=25 GROUP=com.daimajia.androidanimations POM_DESCRIPTION=Collect android animations diff --git a/library/build.gradle b/library/build.gradle index ff94fa6..0747e36 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -7,8 +7,8 @@ android { defaultConfig { minSdkVersion 14 targetSdkVersion 25 - versionCode 20 - versionName "2.0" + versionCode 25 + versionName "2.1" } buildTypes { release { From 341617933b7eb1eead4f519c1d99325681a5fa81 Mon Sep 17 00:00:00 2001 From: daimajia Date: Tue, 21 Feb 2017 16:36:04 +0800 Subject: [PATCH 05/11] support pivot reset. fix #74 --- .../androidanimations/MyActivity.java | 1 + .../library/BaseViewAnimator.java | 3 +- .../androidanimations/library/YoYo.java | 39 +++++++++++++++++++ 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java b/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java index 0741518..e045984 100644 --- a/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java +++ b/demo/src/main/java/com/daimajia/androidanimations/MyActivity.java @@ -43,6 +43,7 @@ public void onItemClick(AdapterView parent, View view, int position, long id) rope = YoYo.with(technique) .duration(1200) .repeat(YoYo.INFINITE) + .pivot(YoYo.CENTER_PIVOT, YoYo.CENTER_PIVOT) .interpolate(new AccelerateDecelerateInterpolator()) .withListener(new Animator.AnimatorListener() { @Override diff --git a/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java b/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java index ea1801b..0353d76 100644 --- a/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java +++ b/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java @@ -36,6 +36,7 @@ public abstract class BaseViewAnimator { public static final long DURATION = 1000; private AnimatorSet mAnimatorSet; + private long mDuration = DURATION; { @@ -74,8 +75,6 @@ public void reset(View target) { ViewCompat.setRotation(target, 0); ViewCompat.setRotationY(target, 0); ViewCompat.setRotationX(target, 0); - ViewCompat.setPivotX(target, target.getMeasuredWidth() / 2.0f); - ViewCompat.setPivotY(target, target.getMeasuredHeight() / 2.0f); } /** diff --git a/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java b/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java index 910dc0c..cf47b7e 100644 --- a/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java +++ b/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java @@ -26,6 +26,7 @@ package com.daimajia.androidanimations.library; import android.animation.Animator; +import android.support.v4.view.ViewCompat; import android.view.View; import android.view.animation.Interpolator; @@ -38,6 +39,7 @@ public class YoYo { private static final long DURATION = BaseViewAnimator.DURATION; private static final long NO_DELAY = 0; public static final int INFINITE = -1; + public static final float CENTER_PIVOT = Float.MAX_VALUE; private BaseViewAnimator animator; private long duration; @@ -45,6 +47,7 @@ public class YoYo { private boolean repeat; private long repeatTimes; private Interpolator interpolator; + private float pivotX, pivotY; private List callbacks; private View target; @@ -55,6 +58,8 @@ private YoYo(AnimationComposer animationComposer) { repeat = animationComposer.repeat; repeatTimes = animationComposer.repeatTimes; interpolator = animationComposer.interpolator; + pivotX = animationComposer.pivotX; + pivotY = animationComposer.pivotY; callbacks = animationComposer.callbacks; target = animationComposer.target; } @@ -96,9 +101,11 @@ public static final class AnimationComposer { private BaseViewAnimator animator; private long duration = DURATION; + private long delay = NO_DELAY; private boolean repeat = false; private long repeatTimes = 0; + private float pivotX = YoYo.CENTER_PIVOT, pivotY = YoYo.CENTER_PIVOT; private Interpolator interpolator; private View target; @@ -125,6 +132,22 @@ public AnimationComposer interpolate(Interpolator interpolator) { return this; } + public AnimationComposer pivot(float pivotX, float pivotY) { + this.pivotX = pivotX; + this.pivotY = pivotY; + return this; + } + + public AnimationComposer pivotX(float pivotX) { + this.pivotX = pivotX; + return this; + } + + public AnimationComposer pivotY(float pivotY) { + this.pivotY = pivotY; + return this; + } + public AnimationComposer repeat(int times) { if (times < INFINITE) { @@ -209,6 +232,10 @@ public boolean isRunning() { return animator.isRunning(); } + public void stop() { + stop(true); + } + public void stop(boolean reset) { animator.cancel(); @@ -221,6 +248,18 @@ public void stop(boolean reset) { private BaseViewAnimator play() { animator.setTarget(target); + + if (pivotX == YoYo.CENTER_PIVOT) { + ViewCompat.setPivotX(target, target.getMeasuredWidth() / 2.0f); + } else { + target.setPivotX(pivotX); + } + if (pivotY == YoYo.CENTER_PIVOT) { + ViewCompat.setPivotY(target, target.getMeasuredHeight() / 2.0f); + } else { + target.setPivotY(pivotY); + } + animator.setDuration(duration) .setInterpolator(interpolator) .setStartDelay(delay); From 89b980a4dcd437f28c1a983e91ce1c336f839c61 Mon Sep 17 00:00:00 2001 From: daimajia Date: Tue, 21 Feb 2017 16:39:49 +0800 Subject: [PATCH 06/11] update to v2.2 --- README.md | 4 ++-- gradle.properties | 4 ++-- library/build.gradle | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 97dbe98..b597fd4 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ For making animations more real, I created another project named [Android Easing dependencies { compile 'com.android.support:support-compat:25.1.1' compile 'com.daimajia.easing:library:2.0@aar' - compile 'com.daimajia.androidanimations:library:2.1@aar' + compile 'com.daimajia.androidanimations:library:2.2@aar' } ``` #### Maven @@ -38,7 +38,7 @@ dependencies { com.daimajia.androidanimation library - 2.1 + 2.2 com.daimajia.easing diff --git a/gradle.properties b/gradle.properties index b4182c4..4377703 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,8 +18,8 @@ # org.gradle.parallel=true -VERSION_NAME=2.1 -VERSION_CODE=25 +VERSION_NAME=2.2 +VERSION_CODE=30 GROUP=com.daimajia.androidanimations POM_DESCRIPTION=Collect android animations diff --git a/library/build.gradle b/library/build.gradle index 0747e36..27c4d8e 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -7,8 +7,8 @@ android { defaultConfig { minSdkVersion 14 targetSdkVersion 25 - versionCode 25 - versionName "2.1" + versionCode 30 + versionName "2.2" } buildTypes { release { From 2f515f3a85d0329970446c74e18aef4263ec1ecb Mon Sep 17 00:00:00 2001 From: Santiago Castro Date: Mon, 17 Apr 2017 20:55:27 -0300 Subject: [PATCH 07/11] Fix broken Markdown headings --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b597fd4..d309032 100644 --- a/README.md +++ b/README.md @@ -93,12 +93,12 @@ YoYo.with(Techniques.Tada) Welcome contribute your amazing animation effect. :-D -#Thanks +# Thanks - [AFViewShaker](https://github.com/ArtFeel/AFViewShaker) - [Animate.css](https://github.com/daneden/animate.css) -#About me +# About me A student in mainland China. From b64da8d0585513e87b3ea86f32bea797e62ac440 Mon Sep 17 00:00:00 2001 From: "imknown J. Kimu" Date: Sat, 6 May 2017 00:40:42 +0800 Subject: [PATCH 08/11] Fix 'gitter badge' github mkdn syntax. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d309032..f0dda2f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Android View Animations [![Build Status](https://travis-ci.org/daimajia/AndroidViewAnimations.svg)](https://travis-ci.org/daimajia/AndroidViewAnimations) -[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/daimajia/AndroidViewAnimations?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/daimajia/AndroidViewAnimations?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) One day, I saw [an iOS library](https://github.com/ArtFeel/AFViewShaker), which is a view shaker, it's very beautiful. I think Android also need one, and should be better. From 182175a39e52e09439c13ecf38acdcfbef651786 Mon Sep 17 00:00:00 2001 From: ts Date: Wed, 28 Jun 2017 11:40:08 +0800 Subject: [PATCH 09/11] Fix crash on android 4.4 when animator repeat. --- .../library/BaseViewAnimator.java | 18 +++++++ .../androidanimations/library/YoYo.java | 51 +++++-------------- 2 files changed, 30 insertions(+), 39 deletions(-) diff --git a/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java b/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java index 0353d76..1b0eaf0 100644 --- a/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java +++ b/library/src/main/java/com/daimajia/androidanimations/library/BaseViewAnimator.java @@ -26,6 +26,7 @@ import android.animation.Animator; import android.animation.AnimatorSet; +import android.animation.ValueAnimator; import android.support.v4.view.ViewCompat; import android.view.View; import android.view.animation.Interpolator; @@ -38,6 +39,8 @@ public abstract class BaseViewAnimator { private AnimatorSet mAnimatorSet; private long mDuration = DURATION; + private int mRepeatTimes = 0; + private int mRepeatMode = ValueAnimator.RESTART; { mAnimatorSet = new AnimatorSet(); @@ -81,6 +84,12 @@ public void reset(View target) { * start to animate */ public void start() { + for (Animator animator : mAnimatorSet.getChildAnimations()) { + if (animator instanceof ValueAnimator) { + ((ValueAnimator) animator).setRepeatCount(mRepeatTimes); + ((ValueAnimator) animator).setRepeatMode(mRepeatMode); + } + } mAnimatorSet.setDuration(mDuration); mAnimatorSet.start(); } @@ -137,4 +146,13 @@ public AnimatorSet getAnimatorAgent() { return mAnimatorSet; } + public BaseViewAnimator setRepeatTimes(int repeatTimes) { + mRepeatTimes = repeatTimes; + return this; + } + + public BaseViewAnimator setRepeatMode(int repeatMode) { + mRepeatMode = repeatMode; + return this; + } } diff --git a/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java b/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java index cf47b7e..d192337 100644 --- a/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java +++ b/library/src/main/java/com/daimajia/androidanimations/library/YoYo.java @@ -26,6 +26,7 @@ package com.daimajia.androidanimations.library; import android.animation.Animator; +import android.animation.ValueAnimator; import android.support.v4.view.ViewCompat; import android.view.View; import android.view.animation.Interpolator; @@ -45,7 +46,8 @@ public class YoYo { private long duration; private long delay; private boolean repeat; - private long repeatTimes; + private int repeatTimes; + private int repeatMode; private Interpolator interpolator; private float pivotX, pivotY; private List callbacks; @@ -57,6 +59,7 @@ private YoYo(AnimationComposer animationComposer) { delay = animationComposer.delay; repeat = animationComposer.repeat; repeatTimes = animationComposer.repeatTimes; + repeatMode = animationComposer.repeatMode; interpolator = animationComposer.interpolator; pivotX = animationComposer.pivotX; pivotY = animationComposer.pivotY; @@ -96,7 +99,6 @@ public void onAnimationRepeat(Animator animation) { public static final class AnimationComposer { - private List callbacks = new ArrayList<>(); private BaseViewAnimator animator; @@ -104,7 +106,8 @@ public static final class AnimationComposer { private long delay = NO_DELAY; private boolean repeat = false; - private long repeatTimes = 0; + private int repeatTimes = 0; + private int repeatMode = ValueAnimator.RESTART; private float pivotX = YoYo.CENTER_PIVOT, pivotY = YoYo.CENTER_PIVOT; private Interpolator interpolator; private View target; @@ -148,7 +151,6 @@ public AnimationComposer pivotY(float pivotY) { return this; } - public AnimationComposer repeat(int times) { if (times < INFINITE) { throw new RuntimeException("Can not be less than -1, -1 is infinite loop"); @@ -158,6 +160,10 @@ public AnimationComposer repeat(int times) { return this; } + public AnimationComposer repeatMode(int mode) { + repeatMode = mode; + return this; + } public AnimationComposer withListener(Animator.AnimatorListener listener) { callbacks.add(listener); @@ -242,10 +248,8 @@ public void stop(boolean reset) { if (reset) animator.reset(target); } - } - private BaseViewAnimator play() { animator.setTarget(target); @@ -261,6 +265,8 @@ private BaseViewAnimator play() { } animator.setDuration(duration) + .setRepeatTimes(repeatTimes) + .setRepeatMode(repeatMode) .setInterpolator(interpolator) .setStartDelay(delay); @@ -269,39 +275,6 @@ private BaseViewAnimator play() { animator.addAnimatorListener(callback); } } - - if (repeat) { - animator.addAnimatorListener(new Animator.AnimatorListener() { - - private long currentTimes = 0; - - @Override - public void onAnimationStart(Animator animation) { - currentTimes++; - } - - @Override - public void onAnimationEnd(Animator animation) { - if (!repeat) { - return; - } - if (repeatTimes == INFINITE || currentTimes < repeatTimes) { - animator.restart(); - } - } - - @Override - public void onAnimationCancel(Animator animation) { - repeatTimes = 0; - repeat = false; - } - - @Override - public void onAnimationRepeat(Animator animation) { - } - }); - } - animator.animate(); return animator; } From c364ec1eefedf9601e409560478e848267ebad58 Mon Sep 17 00:00:00 2001 From: chongzhe Date: Mon, 10 Jul 2017 17:33:05 -0700 Subject: [PATCH 10/11] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index f0dda2f..57504fa 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/daimajia/AndroidViewAnimations?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +[![Insight.io](https://insight.io/repoBadge/github.com/daimajia/AndroidViewAnimations)](https://insight.io/github.com/daimajia/AndroidViewAnimations) + One day, I saw [an iOS library](https://github.com/ArtFeel/AFViewShaker), which is a view shaker, it's very beautiful. I think Android also need one, and should be better. So, I started to collect animation effects... and in two days, this project born. From 0a74d40be1836381f5271d9ca71e16c88640f8a1 Mon Sep 17 00:00:00 2001 From: daimajia Date: Mon, 17 Jul 2017 11:48:01 +0800 Subject: [PATCH 11/11] update to v2.3 --- README.md | 4 ++-- demo/build.gradle | 4 ++-- gradle.properties | 4 ++-- library/build.gradle | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 57504fa..d06f320 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ For making animations more real, I created another project named [Android Easing dependencies { compile 'com.android.support:support-compat:25.1.1' compile 'com.daimajia.easing:library:2.0@aar' - compile 'com.daimajia.androidanimations:library:2.2@aar' + compile 'com.daimajia.androidanimations:library:2.3@aar' } ``` #### Maven @@ -41,7 +41,7 @@ dependencies { com.daimajia.androidanimation library - 2.2 + 2.3 com.daimajia.easing diff --git a/demo/build.gradle b/demo/build.gradle index b85eb05..042ec2b 100644 --- a/demo/build.gradle +++ b/demo/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.daimajia.androidanimations" minSdkVersion 14 targetSdkVersion 25 - versionCode 2 - versionName "2.0" + versionCode 3 + versionName "3.0" } buildTypes { release { diff --git a/gradle.properties b/gradle.properties index 4377703..5c244a6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,8 +18,8 @@ # org.gradle.parallel=true -VERSION_NAME=2.2 -VERSION_CODE=30 +VERSION_NAME=2.3 +VERSION_CODE=31 GROUP=com.daimajia.androidanimations POM_DESCRIPTION=Collect android animations diff --git a/library/build.gradle b/library/build.gradle index 27c4d8e..0d8dc9f 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -7,8 +7,8 @@ android { defaultConfig { minSdkVersion 14 targetSdkVersion 25 - versionCode 30 - versionName "2.2" + versionCode 31 + versionName "2.3" } buildTypes { release {