andkulikov / Transitions-Everywhere

Set of extra Transitions on top of Jetpack Transitions Library
Apache License 2.0
4.83k stars 486 forks source link

java.lang.IllegalArgumentException: width and height must be > 0 #88

Closed smelfungus closed 5 years ago

smelfungus commented 5 years ago

Hi there! Thank you for that nice transitions implementation. Looks like Crossfade transition is missing view dimensions checks which is causing next exception for not laid-out views. Is it working by design?

Fatal Exception: java.lang.IllegalArgumentException: width and height must be > 0
       at android.graphics.Bitmap.createBitmap(Bitmap.java:1209)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:1176)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:1126)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:1087)
       at com.transitionseverywhere.Crossfade.captureValues(Crossfade.java:277)
       at com.transitionseverywhere.Crossfade.captureEndValues(Crossfade.java:299)
       at com.transitionseverywhere.Transition.captureStartValues(Transition.java:1493)
       at com.transitionseverywhere.TransitionManager$MultiListener.onPreDraw(TransitionManager.java:306)
       at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:977)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2566)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1551)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7370)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:982)
       at android.view.Choreographer.doCallbacks(Choreographer.java:791)
       at android.view.Choreographer.doFrame(Choreographer.java:722)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:968)
       at android.os.Handler.handleCallback(Handler.java:809)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:166)
       at android.app.ActivityThread.main(ActivityThread.java:7555)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
andkulikov commented 5 years ago

Hi. Thank you for your report. Yes, I think we can add this checks. I will do it when have some free time

andkulikov commented 5 years ago

released in 1.8.1