From 318dc9fbf52f9c6d0238934a107935b4c8576a97 Mon Sep 17 00:00:00 2001 From: Ozodrukh Date: Fri, 1 Jan 2016 12:58:41 +0500 Subject: [PATCH] required min sdk version changed to 15, you can now set custom layer type --- app/build.gradle | 16 +-- .../FragmentRevealExample.java | 69 ++++++++++ .../circualrevealsample/MainActivity.java | 37 +++--- .../circualrevealsample/Sample3Activity.java | 23 ++-- .../res/drawable-nodpi/example_raw_image.jpg | Bin 0 -> 92027 bytes app/src/main/res/drawable/image_borders.xml | 4 + app/src/main/res/menu/menu_main.xml | 9 +- app/src/main/res/values/styles.xml | 2 +- build.gradle | 4 +- circualreveal/build.gradle | 34 ++++- .../io/codetail/animation/RevealAnimator.java | 68 +++------- .../codetail/animation/SupportAnimator.java | 23 +--- ...Lollipop.java => SupportAnimatorImpl.java} | 37 +++++- .../animation/SupportAnimatorPreL.java | 124 ------------------ .../animation/ViewAnimationUtils.java | 103 ++++++--------- gradle.properties | 8 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 17 files changed, 242 insertions(+), 321 deletions(-) create mode 100644 app/src/main/java/io/codetail/circualrevealsample/FragmentRevealExample.java create mode 100644 app/src/main/res/drawable-nodpi/example_raw_image.jpg create mode 100644 app/src/main/res/drawable/image_borders.xml rename circualreveal/src/main/java/io/codetail/animation/{SupportAnimatorLollipop.java => SupportAnimatorImpl.java} (75%) delete mode 100644 circualreveal/src/main/java/io/codetail/animation/SupportAnimatorPreL.java diff --git a/app/build.gradle b/app/build.gradle index 6033035..652eb71 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 22 - buildToolsVersion "22.0.1" + compileSdkVersion 23 + buildToolsVersion "23.0.2" defaultConfig { applicationId "io.codetail.circualrevealsample" - minSdkVersion 9 - targetSdkVersion 22 + minSdkVersion 15 + targetSdkVersion 23 versionCode 1 versionName "1.0" } @@ -21,10 +21,10 @@ dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':circualreveal') - compile 'com.android.support:appcompat-v7:22.2.0' - compile 'com.android.support:recyclerview-v7:22.2.0' - compile 'com.android.support:cardview-v7:22.2.0' - compile 'com.android.support:design:22.2.0' + compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.android.support:recyclerview-v7:23.1.1' + compile 'com.android.support:cardview-v7:23.1.1' + compile 'com.android.support:design:23.1.1' compile 'com.jakewharton:butterknife:6.0.0' } diff --git a/app/src/main/java/io/codetail/circualrevealsample/FragmentRevealExample.java b/app/src/main/java/io/codetail/circualrevealsample/FragmentRevealExample.java new file mode 100644 index 0000000..34ae308 --- /dev/null +++ b/app/src/main/java/io/codetail/circualrevealsample/FragmentRevealExample.java @@ -0,0 +1,69 @@ +package io.codetail.circualrevealsample; + +import android.animation.Animator; +import android.graphics.Color; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewTreeObserver; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.widget.FrameLayout; +import android.widget.ImageView; + +import io.codetail.animation.ViewAnimationUtils; +import io.codetail.widget.RevealFrameLayout; + +import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; +import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; + +public class FragmentRevealExample extends Fragment { + + private Animator mRevealAnimator; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + final FrameLayout frameLayout = new RevealFrameLayout(getContext()); + + final FrameLayout content = new FrameLayout(getContext()); + content.setBackgroundColor(Color.WHITE); + content.setVisibility(View.INVISIBLE); + + frameLayout.addView(content, new FrameLayout.LayoutParams(MATCH_PARENT, MATCH_PARENT)); + + final ImageView imageView = new ImageView(getContext()); + imageView.setImageResource(R.drawable.example_raw_image); + + FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT); + lp.topMargin = 16; + lp.leftMargin = 16; + lp.rightMargin = 16; + lp.bottomMargin = 16; + + content.addView(imageView, lp); + + content.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { + @Override + public boolean onPreDraw() { + content.getViewTreeObserver().removeOnPreDrawListener(this); + content.setVisibility(View.VISIBLE); + + // actually you need to set visibility before stating animation in listener + + mRevealAnimator = ViewAnimationUtils.createCircularReveal(content, 0, 0, 0, + MainActivity.hypo(content.getWidth(), content.getHeight())); + mRevealAnimator.setDuration(500); + mRevealAnimator.setStartDelay(100); + mRevealAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); + mRevealAnimator.start(); + return true; + } + }); + + return frameLayout; + } + +} diff --git a/app/src/main/java/io/codetail/circualrevealsample/MainActivity.java b/app/src/main/java/io/codetail/circualrevealsample/MainActivity.java index f8f9997..e02431b 100644 --- a/app/src/main/java/io/codetail/circualrevealsample/MainActivity.java +++ b/app/src/main/java/io/codetail/circualrevealsample/MainActivity.java @@ -1,5 +1,6 @@ package io.codetail.circualrevealsample; +import android.animation.ObjectAnimator; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; @@ -21,9 +22,6 @@ import android.view.animation.Interpolator; import android.widget.Toast; -import com.nineoldandroids.animation.ObjectAnimator; -import com.nineoldandroids.view.ViewHelper; - import java.lang.ref.WeakReference; import butterknife.ButterKnife; @@ -62,6 +60,7 @@ protected void onCreate(Bundle savedInstanceState) { mCardsAdapter = new RecycleAdapter(); mCardsAdapter.setHasStableIds(true); + mCardsGroup.addOnScrollListener(new HideExtraOnScroll(mToolbar)); mCardsGroup.setHasFixedSize(true); mCardsGroup.setItemViewCacheSize(3); mCardsGroup.setClipToPadding(false); @@ -158,20 +157,6 @@ static float hypo(int a, int b){ return (float) Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); } - @Override - protected void onStart() { - super.onStart(); - mCardsGroup.setOnScrollListener(new HideExtraOnScroll(mToolbar)); - } - - @Override - protected void onStop() { - super.onStop(); - - // Prevent memory leaks, fuck yeah! - mCardsGroup.setOnScrollListener(null); - } - public static class RecycleAdapter extends RecyclerView.Adapter{ @Override @@ -302,14 +287,14 @@ public boolean isVisible(View target){ public void hide(final View target, float distance){ ObjectAnimator animator = ObjectAnimator.ofFloat(target, "translationY", - ViewHelper.getTranslationY(target), distance); + target.getTranslationY(), distance); animator.setInterpolator(DECELERATE); animator.start(); } public void show(final View target){ ObjectAnimator animator = ObjectAnimator.ofFloat(target, "translationY", - ViewHelper.getTranslationY(target), 0f); + target.getTranslationY(), 0f); animator.setInterpolator(ACCELERATE); animator.start(); } @@ -327,13 +312,23 @@ public boolean onOptionsItemSelected(MenuItem item) { Intent intent = null; switch (item.getItemId()){ - case R.id.sampl2: + case R.id.sample2: intent = new Intent(this, Sample2Activity.class); break; - case R.id.sampl3: + case R.id.sample3: intent = new Intent(this, Sample3Activity.class); break; + + case R.id.sample4: + + getSupportFragmentManager() + .beginTransaction() + .add(android.R.id.content, new FragmentRevealExample(), "fragment:reveal") + .addToBackStack("fragment:reveal") + .commit(); + + return true; } startActivity(intent); diff --git a/app/src/main/java/io/codetail/circualrevealsample/Sample3Activity.java b/app/src/main/java/io/codetail/circualrevealsample/Sample3Activity.java index 607a040..e87bb9b 100644 --- a/app/src/main/java/io/codetail/circualrevealsample/Sample3Activity.java +++ b/app/src/main/java/io/codetail/circualrevealsample/Sample3Activity.java @@ -1,18 +1,17 @@ package io.codetail.circualrevealsample; -import android.graphics.Rect; -import android.os.Build; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewTreeObserver; +import android.view.ViewTreeObserver.OnPreDrawListener; import android.view.animation.AccelerateDecelerateInterpolator; import io.codetail.animation.SupportAnimator; import io.codetail.animation.ViewAnimationUtils; public class Sample3Activity extends AppCompatActivity - implements ViewTreeObserver.OnGlobalLayoutListener{ + implements OnPreDrawListener{ private CardViewPlus mContentView; @@ -23,7 +22,7 @@ protected void onCreate(Bundle savedInstanceState) { mContentView = (CardViewPlus) findViewById(R.id.content); - getViewTreeObserver().addOnGlobalLayoutListener(this); + getViewTreeObserver().addOnPreDrawListener(this); } protected View getRootView(){ @@ -35,23 +34,19 @@ protected ViewTreeObserver getViewTreeObserver(){ } protected void startRevealTransition(){ - final Rect bounds = new Rect(); - getRootView().getHitRect(bounds); SupportAnimator animator = ViewAnimationUtils.createCircularReveal(getRootView(), - bounds.right, bounds.bottom, 0, Sample2Activity.hypo(bounds.height(), bounds.width())); + getRootView().getRight(), getRootView().getBottom(), 0, + Sample2Activity.hypo(getRootView().getHeight(), getRootView().getWidth()), + View.LAYER_TYPE_SOFTWARE); animator.setDuration(1000); animator.setInterpolator(new AccelerateDecelerateInterpolator()); animator.start(); } @Override - public void onGlobalLayout() { - if(Build.VERSION.SDK_INT >= 16) { - getViewTreeObserver().removeOnGlobalLayoutListener(this); - }else{ - getViewTreeObserver().removeGlobalOnLayoutListener(this); - } - + public boolean onPreDraw() { + getViewTreeObserver().removeOnPreDrawListener(this); startRevealTransition(); + return true; } } diff --git a/app/src/main/res/drawable-nodpi/example_raw_image.jpg b/app/src/main/res/drawable-nodpi/example_raw_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44fdb7054859ebd376e3a64e704af1281b77761a GIT binary patch literal 92027 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%0AdI=uRUBk_JeQnJ2^wUz4k);*6#|)=6Uv1yGd5 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
  • nZ~-6ZTuGKdsiK?)Ag_+*!vy4_j&Qb-EQb2E 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 + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 1d134e1..ac8f597 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -2,13 +2,18 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> - - + + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index c7c9458..5f9dca4 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -46,7 +46,7 @@ - + diff --git a/build.gradle b/build.gradle index a212805..b20c3ef 100644 --- a/build.gradle +++ b/build.gradle @@ -5,8 +5,8 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.2.3' - classpath 'com.github.dcendents:android-maven-plugin:1.2' + classpath 'com.android.tools.build:gradle:1.5.0' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/circualreveal/build.gradle b/circualreveal/build.gradle index 8c74875..a759b55 100644 --- a/circualreveal/build.gradle +++ b/circualreveal/build.gradle @@ -1,17 +1,37 @@ apply plugin: 'com.android.library' -apply plugin: 'android-maven' +apply plugin: 'com.github.dcendents.android-maven' android { - compileSdkVersion 22 - buildToolsVersion "22.0.1" + compileSdkVersion 23 + buildToolsVersion "23.0.2" defaultConfig { - minSdkVersion 9 - targetSdkVersion 22 + minSdkVersion 15 + targetSdkVersion 23 } } -dependencies { - compile 'com.nineoldandroids:library:2.4.0' +// build a jar with source files +task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' +} + +task javadoc(type: Javadoc) { + failOnError false + source = android.sourceSets.main.java.sourceFiles + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + classpath += configurations.compile +} + +// build a jar with javadoc +task javadocJar(type: Jar, dependsOn: javadoc) { + classifier = 'javadoc' + from javadoc.destinationDir +} + +artifacts { + archives sourcesJar + archives javadocJar } diff --git a/circualreveal/src/main/java/io/codetail/animation/RevealAnimator.java b/circualreveal/src/main/java/io/codetail/animation/RevealAnimator.java index 61844be..4624337 100644 --- a/circualreveal/src/main/java/io/codetail/animation/RevealAnimator.java +++ b/circualreveal/src/main/java/io/codetail/animation/RevealAnimator.java @@ -1,17 +1,13 @@ package io.codetail.animation; -import android.annotation.TargetApi; +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; import android.graphics.Rect; -import android.os.Build; +import android.util.Property; import android.view.View; -import com.nineoldandroids.animation.Animator; -import com.nineoldandroids.util.FloatProperty; - import java.lang.ref.WeakReference; -import static io.codetail.animation.ViewAnimationUtils.SimpleAnimationListener; - /** * @hide */ @@ -99,81 +95,47 @@ public boolean hasTarget(){ } } - class RevealFinishedGingerbread extends SimpleAnimationListener { + class RevealFinishedIceCreamSandwich extends AnimatorListenerAdapter { WeakReference mReference; + int mFeaturedLayerType; + int mLayerType; - RevealFinishedGingerbread(RevealAnimator target) { + RevealFinishedIceCreamSandwich(RevealAnimator target, int layerType) { mReference = new WeakReference<>(target); + mLayerType = ((View) target).getLayerType(); + mFeaturedLayerType = layerType; } @Override public void onAnimationStart(Animator animation) { RevealAnimator target = mReference.get(); + ((View) target).setLayerType(mFeaturedLayerType, null); target.onRevealAnimationStart(); } @Override public void onAnimationCancel(Animator animation) { RevealAnimator target = mReference.get(); + ((View) target).setLayerType(mLayerType, null); target.onRevealAnimationCancel(); } @Override public void onAnimationEnd(Animator animation) { RevealAnimator target = mReference.get(); + ((View) target).setLayerType(mLayerType, null); target.onRevealAnimationEnd(); } } - @TargetApi(Build.VERSION_CODES.HONEYCOMB) - class RevealFinishedIceCreamSandwich extends RevealFinishedGingerbread { - int mFeaturedLayerType; - int mLayerType; - - RevealFinishedIceCreamSandwich(RevealAnimator target) { - super(target); - - mLayerType = ((View) target).getLayerType(); - mFeaturedLayerType = View.LAYER_TYPE_SOFTWARE; - } - - @Override - public void onAnimationCancel(Animator animation) { - ((View) mReference.get()).setLayerType(mLayerType, null); - super.onAnimationEnd(animation); - } - - @Override - public void onAnimationStart(Animator animation) { - ((View) mReference.get()).setLayerType(mFeaturedLayerType, null); - super.onAnimationStart(animation); - } - - @Override - public void onAnimationEnd(Animator animation) { - ((View) mReference.get()).setLayerType(mLayerType, null); - super.onAnimationEnd(animation); - } - } - - class RevealFinishedJellyBeanMr2 extends RevealFinishedIceCreamSandwich { - - @TargetApi(Build.VERSION_CODES.HONEYCOMB) - RevealFinishedJellyBeanMr2(RevealAnimator target) { - super(target); - - mFeaturedLayerType = View.LAYER_TYPE_HARDWARE; - } - } - - class RevealRadius extends FloatProperty { + class RevealRadius extends Property { public RevealRadius() { - super("revealRadius"); + super(Float.class, "revealRadius"); } @Override - public void setValue(RevealAnimator object, float value) { + public void set(RevealAnimator object, Float value) { object.setRevealRadius(value); } diff --git a/circualreveal/src/main/java/io/codetail/animation/SupportAnimator.java b/circualreveal/src/main/java/io/codetail/animation/SupportAnimator.java index ca42f7c..1d73b39 100644 --- a/circualreveal/src/main/java/io/codetail/animation/SupportAnimator.java +++ b/circualreveal/src/main/java/io/codetail/animation/SupportAnimator.java @@ -1,10 +1,10 @@ package io.codetail.animation; -import android.view.animation.Interpolator; +import android.animation.Animator; import java.lang.ref.WeakReference; -public abstract class SupportAnimator { +public abstract class SupportAnimator extends Animator{ WeakReference mTarget; @@ -21,7 +21,7 @@ public SupportAnimator(RevealAnimator target) { /** * @return depends from {@link android.os.Build.VERSION} if sdk version * {@link android.os.Build.VERSION_CODES#LOLLIPOP} and greater will return - * {@link android.animation.Animator} otherwise {@link com.nineoldandroids.animation.Animator} + * {@link android.animation.Animator} */ public abstract Object get(); @@ -41,23 +41,6 @@ public SupportAnimator(RevealAnimator target) { */ public abstract void start(); - /** - * Sets the duration of the animation. - * - * @param duration The length of the animation, in milliseconds. - */ - public abstract void setDuration(int duration); - - /** - * The time interpolator used in calculating the elapsed fraction of the - * animation. The interpolator determines whether the animation runs with - * linear or non-linear motion, such as acceleration and deceleration. The - * default value is {@link android.view.animation.AccelerateDecelerateInterpolator}. - * - * @param value the interpolator to be used by this animation - */ - public abstract void setInterpolator(Interpolator value); - /** * Adds a listener to the set of listeners that are sent events through the life of an diff --git a/circualreveal/src/main/java/io/codetail/animation/SupportAnimatorLollipop.java b/circualreveal/src/main/java/io/codetail/animation/SupportAnimatorImpl.java similarity index 75% rename from circualreveal/src/main/java/io/codetail/animation/SupportAnimatorLollipop.java rename to circualreveal/src/main/java/io/codetail/animation/SupportAnimatorImpl.java index ec5827e..de0214c 100644 --- a/circualreveal/src/main/java/io/codetail/animation/SupportAnimatorLollipop.java +++ b/circualreveal/src/main/java/io/codetail/animation/SupportAnimatorImpl.java @@ -1,18 +1,18 @@ package io.codetail.animation; import android.animation.Animator; +import android.animation.TimeInterpolator; import android.annotation.TargetApi; import android.os.Build; -import android.view.animation.Interpolator; import java.lang.ref.WeakReference; @TargetApi(Build.VERSION_CODES.HONEYCOMB) -final class SupportAnimatorLollipop extends SupportAnimator{ +final class SupportAnimatorImpl extends SupportAnimator{ WeakReference mAnimator; - SupportAnimatorLollipop(Animator animator, RevealAnimator target) { + SupportAnimatorImpl(Animator animator, RevealAnimator target) { super(target); mAnimator = new WeakReference<>(animator); } @@ -37,15 +37,16 @@ public void start() { } @Override - public void setDuration(int duration) { + public Animator setDuration(long duration) { Animator a = mAnimator.get(); if(a != null) { a.setDuration(duration); } + return this; } @Override - public void setInterpolator(Interpolator value) { + public void setInterpolator(TimeInterpolator value) { Animator a = mAnimator.get(); if(a != null) { a.setInterpolator(value); @@ -109,6 +110,32 @@ public void end() { } } + @Override + public long getStartDelay() { + Animator a = mAnimator.get(); + if(a != null){ + return a.getStartDelay(); + } + return 0; + } + + @Override + public void setStartDelay(long startDelay) { + Animator a = mAnimator.get(); + if(a != null){ + a.setStartDelay(startDelay); + } + } + + @Override + public long getDuration() { + Animator a = mAnimator.get(); + if(a != null){ + return a.getDuration(); + } + return 0; + } + @Override public void setupStartValues() { Animator a = mAnimator.get(); diff --git a/circualreveal/src/main/java/io/codetail/animation/SupportAnimatorPreL.java b/circualreveal/src/main/java/io/codetail/animation/SupportAnimatorPreL.java deleted file mode 100644 index 50e4f5a..0000000 --- a/circualreveal/src/main/java/io/codetail/animation/SupportAnimatorPreL.java +++ /dev/null @@ -1,124 +0,0 @@ -package io.codetail.animation; - -import android.view.animation.Interpolator; - -import com.nineoldandroids.animation.Animator; - -import java.lang.ref.WeakReference; - -final class SupportAnimatorPreL extends SupportAnimator { - - WeakReference mAnimator; - - SupportAnimatorPreL(Animator animator, RevealAnimator target) { - super(target); - mAnimator = new WeakReference<>(animator); - } - - @Override - public boolean isNativeAnimator() { - return false; - } - - @Override - public Object get() { - return mAnimator.get(); - } - - @Override - public void start() { - Animator a = mAnimator.get(); - if(a != null) { - a.start(); - } - } - - @Override - public void setDuration(int duration) { - Animator a = mAnimator.get(); - if(a != null) { - a.setDuration(duration); - } - } - - @Override - public void setInterpolator(Interpolator value) { - Animator a = mAnimator.get(); - if(a != null) { - a.setInterpolator(value); - } - } - - @Override - public void addListener(final AnimatorListener listener) { - Animator a = mAnimator.get(); - if(a == null) { - return; - } - - if(listener == null){ - a.addListener(null); - return; - } - - a.addListener(new Animator.AnimatorListener() { - @Override - public void onAnimationStart(Animator animation) { - listener.onAnimationStart(); - } - - @Override - public void onAnimationEnd(Animator animation) { - listener.onAnimationEnd(); - } - - @Override - public void onAnimationCancel(Animator animation) { - listener.onAnimationCancel(); - } - - @Override - public void onAnimationRepeat(Animator animation) { - listener.onAnimationRepeat(); - } - }); - } - - @Override - public boolean isRunning() { - Animator a = mAnimator.get(); - return a != null && a.isRunning(); - } - - @Override - public void cancel() { - Animator a = mAnimator.get(); - if(a != null){ - a.cancel(); - } - } - - @Override - public void end() { - Animator a = mAnimator.get(); - if(a != null){ - a.end(); - } - } - - @Override - public void setupStartValues() { - Animator a = mAnimator.get(); - if(a != null){ - a.setupStartValues(); - } - } - - @Override - public void setupEndValues() { - Animator a = mAnimator.get(); - if(a != null){ - a.setupEndValues(); - } - } -} diff --git a/circualreveal/src/main/java/io/codetail/animation/ViewAnimationUtils.java b/circualreveal/src/main/java/io/codetail/animation/ViewAnimationUtils.java index 8781fe7..5e654e8 100644 --- a/circualreveal/src/main/java/io/codetail/animation/ViewAnimationUtils.java +++ b/circualreveal/src/main/java/io/codetail/animation/ViewAnimationUtils.java @@ -1,15 +1,11 @@ package io.codetail.animation; +import android.animation.ObjectAnimator; import android.annotation.TargetApi; import android.os.Build; import android.view.View; import android.view.animation.AccelerateDecelerateInterpolator; -import com.nineoldandroids.animation.Animator; -import com.nineoldandroids.animation.ObjectAnimator; -import com.nineoldandroids.view.ViewHelper; -import com.nineoldandroids.view.ViewPropertyAnimator; - import java.lang.ref.WeakReference; import io.codetail.animation.RevealAnimator.RevealInfo; @@ -43,9 +39,37 @@ public class ViewAnimationUtils { * @param endRadius The ending radius of the animating circle. */ @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public static SupportAnimator createCircularReveal(View view, + int centerX, int centerY, + float startRadius, float endRadius) { + + return createCircularReveal(view, centerX, centerY, startRadius, endRadius, View.LAYER_TYPE_SOFTWARE); + } + + /** + * Returns an Animator which can animate a clipping circle. + *

    + * Any shadow cast by the View will respect the circular clip from this animator. + *

    + * Only a single non-rectangular clip can be applied on a View at any time. + * Views clipped by a circular reveal animation take priority over + * {@link android.view.View#setClipToOutline(boolean) View Outline clipping}. + *

    + * Note that the animation returned here is a one-shot animation. It cannot + * be re-used, and once started it cannot be paused or resumed. + * + * @param view The View will be clipped to the animating circle. + * @param centerX The x coordinate of the center of the animating circle. + * @param centerY The y coordinate of the center of the animating circle. + * @param startRadius The starting radius of the animating circle. + * @param endRadius The ending radius of the animating circle. + * + * @param layerType View layer type {@link View#LAYER_TYPE_HARDWARE} or {@link View#LAYER_TYPE_SOFTWARE} + */ + @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static SupportAnimator createCircularReveal(View view, int centerX, int centerY, - float startRadius, float endRadius) { + float startRadius, float endRadius, int layerType) { if(!(view.getParent() instanceof RevealAnimator)){ throw new IllegalArgumentException("View must be inside RevealFrameLayout or RevealLinearLayout."); @@ -56,25 +80,13 @@ public static SupportAnimator createCircularReveal(View view, new WeakReference<>(view))); if(LOLLIPOP_PLUS){ - return new SupportAnimatorLollipop(android.view.ViewAnimationUtils + return new SupportAnimatorImpl(android.view.ViewAnimationUtils .createCircularReveal(view, centerX, centerY, startRadius, endRadius), revealLayout); } - ObjectAnimator reveal = ObjectAnimator.ofFloat(revealLayout, CLIP_RADIUS, - startRadius, endRadius); - reveal.addListener(getRevealFinishListener(revealLayout)); - - return new SupportAnimatorPreL(reveal, revealLayout); - } - - private static Animator.AnimatorListener getRevealFinishListener(RevealAnimator target){ - if(SDK_INT >= 18){ - return new RevealAnimator.RevealFinishedJellyBeanMr2(target); - }else if(SDK_INT >= 14){ - return new RevealAnimator.RevealFinishedIceCreamSandwich(target); - }else { - return new RevealAnimator.RevealFinishedGingerbread(target); - } + ObjectAnimator reveal = ObjectAnimator.ofFloat(revealLayout, CLIP_RADIUS, startRadius, endRadius); + reveal.addListener(new RevealAnimator.RevealFinishedIceCreamSandwich(revealLayout, layerType)); + return new SupportAnimatorImpl(reveal, revealLayout); } /** @@ -88,11 +100,10 @@ private static Animator.AnimatorListener getRevealFinishListener(RevealAnimator */ @Deprecated public static void liftingFromBottom(View view, float baseRotation, float fromY, int duration, int startDelay){ - ViewHelper.setRotationX(view, baseRotation); - ViewHelper.setTranslationY(view, fromY); + view.setRotationX(baseRotation); + view.setTranslationY(fromY); - ViewPropertyAnimator - .animate(view) + view.animate() .setInterpolator(new AccelerateDecelerateInterpolator()) .setDuration(duration) .setStartDelay(startDelay) @@ -112,12 +123,10 @@ public static void liftingFromBottom(View view, float baseRotation, float fromY, */ @Deprecated public static void liftingFromBottom(View view, float baseRotation, int duration, int startDelay){ - ViewHelper.setRotationX(view, baseRotation); - ViewHelper.setTranslationY(view, view.getHeight() / 3); + view.setRotationX(baseRotation); + view.setTranslationY(view.getHeight() / 3); - ViewPropertyAnimator - .animate(view) - .setInterpolator(new AccelerateDecelerateInterpolator()) + view.animate().setInterpolator(new AccelerateDecelerateInterpolator()) .setDuration(duration) .setStartDelay(startDelay) .rotationX(0) @@ -135,40 +144,14 @@ public static void liftingFromBottom(View view, float baseRotation, int duration */ @Deprecated public static void liftingFromBottom(View view, float baseRotation, int duration){ - ViewHelper.setRotationX(view, baseRotation); - ViewHelper.setTranslationY(view, view.getHeight() / 3); + view.setRotationX(baseRotation); + view.setTranslationY(view.getHeight() / 3); - ViewPropertyAnimator - .animate(view) - .setInterpolator(new AccelerateDecelerateInterpolator()) + view.animate().setInterpolator(new AccelerateDecelerateInterpolator()) .setDuration(duration) .rotationX(0) .translationY(0) .start(); } - - static class SimpleAnimationListener implements Animator.AnimatorListener{ - - @Override - public void onAnimationStart(Animator animation) { - - } - - @Override - public void onAnimationEnd(Animator animation) { - - } - - @Override - public void onAnimationCancel(Animator animation) { - - } - - @Override - public void onAnimationRepeat(Animator animation) { - - } - } - } diff --git a/gradle.properties b/gradle.properties index eea05f7..e5e1db5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,10 +15,12 @@ # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true +org.gradle.parallel=true +org.gradle.daemon=true + +VERSION_NAME=1.3.0 +VERSION_CODE=3 -VERSION_NAME=1.0.1 -VERSION_CODE=2 GROUP=com.github.ozodrukh POM_DESCRIPTION=Port of Lollipop circular reveal animation diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 43124cd..aa379f2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip