Coder Social home page Coder Social logo

alexjlockwood / adp-delightful-details Goto Github PK

View Code? Open in Web Editor NEW
1.1K 1.1K 160.0 291 KB

This sample app accompanies a blog post I wrote on icon animations

Home Page: https://www.androiddesignpatterns.com/2016/11/introduction-to-icon-animation-techniques.html

License: MIT License

Java 100.00%
android animated-icons animated-vector-drawables

adp-delightful-details's People

Contributors

alexjlockwood avatar patrickfav avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adp-delightful-details's Issues

Some AnimatedVectorDrawables are blurry on a Nexus 4 device running L (5.1.1)

Attached are some screenshots that I took while running the demo app on my Nexus 4 device.

screenshot_2016-11-29-13-54-58 1

screenshot_2016-11-29-14-48-15

screenshot_2016-11-29-13-52-32 1

screenshot_2016-11-29-14-48-02

screenshot_2016-11-29-18-44-39

screenshot_2016-11-29-18-44-12

I did some investigation and it seems that in some cases the problem is due to the fact of specifying the size instead of just using wrap_content. I changed the width and height properties of the ImageViews inside the activity_checkable layout and all of them were able to render correctly.

I thought vectors were supposed to be of any size without causing any quality problems.

avd_progress_indeterminate_circular : java.lang.RuntimeException: Unknown interpolator name: x

Hello,

When using the circular spinner in our app we get this exception on release builds only (minified) :
It works fine in debug.

11-21 17:12:00.974 21480 21480 D AndroidRuntime: Shutting down VM
11-21 17:12:05.250 20401 20401 E AndroidRuntime: FATAL EXCEPTION: main
11-21 17:12:05.250 20401 20401 E AndroidRuntime: Process: package_id, PID: 20401
11-21 17:12:05.250 20401 20401 E AndroidRuntime: android.content.res.Resources$NotFoundException: Drawable package_id:drawable/avd_progress_indeterminate_circular with resource ID #0x7f020069
11-21 17:12:05.250 20401 20401 E AndroidRuntime: Caused by: java.lang.RuntimeException: Unknown interpolator name: x
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.view.animation.AnimationUtils.createInterpolatorFromXml(AnimationUtils.java:397)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.view.animation.AnimationUtils.loadInterpolator(AnimationUtils.java:338)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:1053)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.animation.AnimatorInflater.loadObjectAnimator(AnimatorInflater.java:1007)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:663)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:676)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:638)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:126)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.graphics.drawable.AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator.newInstance(AnimatedVectorDrawable.java:808)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.graphics.drawable.AnimatedVectorDrawable$AnimatedVectorDrawableState.inflatePendingAnimators(AnimatedVectorDrawable.java:784)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.graphics.drawable.AnimatedVectorDrawable.applyTheme(AnimatedVectorDrawable.java:613)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:580)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.content.res.Resources.getDrawable(Resources.java:771)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.support.v4.content.res.ResourcesCompat.getDrawable(ResourcesCompat.java:76)
11-21 17:12:05.250 20401 20401 E AndroidRuntime: 	at android.support.graphics.drawable.AnimatedVectorDrawableCompat.create(AnimatedVectorDrawableCompat.java:210)

I am starting to loose faith in Android animated vector drawables ;)

Our build is using Gradle 3.0 but we deactivated aapt2.

Problem with downloading animation on v5.0/6.0

From a comment on the blog post:

Dear Alex! Thank you for the post, it's really useful. One little thing, I just noticed: in Android Lollipop and Marshmallow the downloading animation not working correctly. After the the downloading begin animation finish can't draw the download button, just stops. Also the underline below the downloading icon not animating. Is there any solution? In Nougat everything is fine.

Animated Fingerprint icon causes crash after upgrading to gradle build tools 3.0.0-beta4

java.lang.RuntimeException: Unable to start activity ComponentInfo{___}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class ImageView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class ImageView Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class ImageView Caused by: android.content.res.Resources$NotFoundException: Drawable ___/asl_fingerprint with resource ID #0x7f080080 Caused by: java.lang.RuntimeException: Unknown animator name: attr

the attr - Attribute seems to be not supported any more...

Failed to parse animated-vector resource

Error:Execution failed for task ':my_project:processReleaseResources'.
> Failed to parse XML resource file '/Users/mms/AndroidStudioProjects/my_project/my_project_lib/build/intermediates/res/merged/release/drawable-v21/avd_downloading_begin.xml'

Hey Alex, I copied and pasted the avd_downloading_begin into my projects drawable-v21 folder along with the vd_downloading, but the IDE is still giving me an error in avd_downloading_begin for target animation attribute should be defined

I have noted to use VectorDrawableCompat and have set vectorDrawables.useSupportLibrary = true in the defaultConfig of both the project and library, and am using AppCompatImageView

Any ideas why this wouldn't work?

downloading icon shows part of progress on static state

Hey @alexjlockwood !
Thank you for your awesome library!

I have an issue with downloading icon animation... I using it on recyclerview (maybe it doesn't matter) and download content. I using avd_downloading_begin and avd_downloading_finish resources. After finishing the download process icon showing not always properly, maybe in case recyclerview. But I reset the icon on every time for every new item of recyclerview.

Please look at this screenshot, this icon showing the part of progress at the top. it is static icon, all animations are ended.

Please help to resolve this issue.

device-2018-02-26-141315

Size of checkbox and radiobutton vectors

checkbox vector vd_checkable_checkbox_checked, vd_checkable_checkbox_unchecked as well as
radiobutton vector vd_checkable_radiobutton_checked, vd_checkable_radiobutton_unchecked have size of 32dp even though visible part fits 24dp square
Would it be possible to trim inside padding and make them consistent with all android icons size - 24dp?
Thanks in advance for your reply.

crash when click the downloading icon

07-28 10:41:29.361 6814-6814/com.alexjlockwood.example.delight E/AndroidRuntime: FATAL EXCEPTION: main Process: com.alexjlockwood.example.delight, PID: 6814 java.lang.IllegalArgumentException: no valueFrom or no valueTo at android.support.graphics.drawable.AnimatorInflaterCompat.parseAnimatorFromTypeArray(AnimatorInflaterCompat.java:361) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:815) at android.support.graphics.drawable.AnimatorInflaterCompat.loadObjectAnimator(AnimatorInflaterCompat.java:790) at android.support.graphics.drawable.AnimatorInflaterCompat.createAnimatorFromXml(AnimatorInflaterCompat.java:443) at android.support.graphics.drawable.AnimatorInflaterCompat.createAnimatorFromXml(AnimatorInflaterCompat.java:454) at android.support.graphics.drawable.AnimatorInflaterCompat.createAnimatorFromXml(AnimatorInflaterCompat.java:417) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:126) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:113) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:96) at android.support.graphics.drawable.AnimatedVectorDrawableCompat.inflate(AnimatedVectorDrawableCompat.java:485) at android.support.graphics.drawable.AnimatedVectorDrawableCompat.createFromXmlInner(AnimatedVectorDrawableCompat.java:253) at android.support.graphics.drawable.AnimatedVectorDrawableCompat.create(AnimatedVectorDrawableCompat.java:233) at com.alexjlockwood.example.delight.DownloadingActivity.swapAnimation(DownloadingActivity.java:60) at com.alexjlockwood.example.delight.DownloadingActivity.access$000(DownloadingActivity.java:15) at com.alexjlockwood.example.delight.DownloadingActivity$1.run(DownloadingActivity.java:47) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7237) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

the device is Samsung in Android 6.0

Custom AnimatedVectorDrawable not working

Hi there. I read your wonderful blog post (thank you!) and tried making a custom animated vector drawable. However, it doesn't seem to work. I used the IconAnimator in Roman Nurik's Asset Studio to make it. I've been debugging it the entire morning and I was hoping you may know what is wrong. I created a small sample project to demonstrate how my icon is not working, whereas your play/pause/stop icon is working just fine, with seemingly equivalent code.

IllegalArgumentException: no valueFrom or no valueTo

After support library update there is a crash on path morphing animation in Downloading example. FATAL EXCEPTION: main Process: com.alexjlockwood.example.delight, PID: 7692 java.lang.IllegalArgumentException: no valueFrom or no valueTo at android.support.graphics.drawable.AnimatorInflaterCompat.parseAnimatorFromTypeArray(AnimatorInflaterCompat.java:361) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:815) at android.support.graphics.drawable.AnimatorInflaterCompat.loadObjectAnimator(AnimatorInflaterCompat.java:790) at android.support.graphics.drawable.AnimatorInflaterCompat.createAnimatorFromXml(AnimatorInflaterCompat.java:443) at android.support.graphics.drawable.AnimatorInflaterCompat.createAnimatorFromXml(AnimatorInflaterCompat.java:454) at android.support.graphics.drawable.AnimatorInflaterCompat.createAnimatorFromXml(AnimatorInflaterCompat.java:417) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:126) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:113) at android.support.graphics.drawable.AnimatorInflaterCompat.loadAnimator(AnimatorInflaterCompat.java:96) at android.support.graphics.drawable.AnimatedVectorDrawableCompat.inflate(AnimatedVectorDrawableCompat.java:485) at android.support.graphics.drawable.AnimatedVectorDrawableCompat.createFromXmlInner(AnimatedVectorDrawableCompat.java:253) at android.support.graphics.drawable.AnimatedVectorDrawableCompat.create(AnimatedVectorDrawableCompat.java:233) at com.alexjlockwood.example.delight.DownloadingActivity.swapAnimation(DownloadingActivity.java:60) at com.alexjlockwood.example.delight.DownloadingActivity.access$000(DownloadingActivity.java:15) at com.alexjlockwood.example.delight.DownloadingActivity$1.run(DownloadingActivity.java:47) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5289) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Environment: Android 5 and 6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.