guerwan / transitionsbackport Goto Github PK
View Code? Open in Web Editor NEWA backport of the new Transitions API for Android
A backport of the new Transitions API for Android
I found removeView method in ViewOverlayCompat class not check view in argument is not null then it throw ArrayIndexOutOfBoundsException.
I know it would be nice if everyone get it easily to change the source code. But wait, "android.support.*" is kind of "reserved word" which is supposed to be used only by Official Framework. In fact, it will cause dramatically bugs in the future if Google' guys decide that they will support transition for the oldie and "android.support" is used there.
Please consider to change your package name.
There are many new transitions in Android 5.0 Lollipop. Having them on devices below that API level would be great, because adoption will be slow for most users.
https://developer.android.com/reference/android/transition/package-summary.html
On API < JelleBean OverlayCompatibilityHelper
seems not to remove views' bitmaps properly and artifacts are left on screen, see video:
http://monosnap.com/file/76RvSQEKkk5M4KnRsT054NOR4ZkwVI
Please upload to MavenCentral! ๐
I just launched a sample, played around a bit, and then rotated the device, and scenes stopped switching for me.
What am I doing wrong?
I got this error on some devices has os version 4.0.3 (not on all device models).
java.lang.IllegalArgumentException: width and height must be > 0
android.graphics.Bitmap.createBitmap(Bitmap.java:603)
android.graphics.Bitmap.createBitmap(Bitmap.java:585)
android.support.transition.utils.ViewOverlayCompat$ViewWithBounds.<init>(ViewOverlayCompat.java:112)
android.support.transition.utils.ViewOverlayCompat$ViewWithBounds.<init>(ViewOverlayCompat.java:103)
android.support.transition.utils.ViewOverlayCompat.addView(ViewOverlayCompat.java:44)
android.support.transition.utils.OverlayCompatibilityHelper.addViewOverlay(OverlayCompatibilityHelper.java:29)
android.support.transition.Fade.onDisappear(Fade.java:251)
android.support.transition.Visibility.createAnimator(Visibility.java:172)
android.support.transition.Transition.createAnimators(Transition.java:459)
android.support.transition.TransitionSet.createAnimators(TransitionSet.java:259)
android.support.transition.Transition.playTransition(Transition.java:1292)
android.support.transition.TransitionManager$1.onPreDraw(TransitionManager.java:242)
android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:590)
android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1617)
android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4424)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
dalvik.system.NativeStart.main(Native Method)
Do not know where this is coming from and scenes are same on all devices.
No way to get it working on my side...wondering if the approach applies to ListView and friends at all.
I think package naming should be like
android.support.transition
This way, it will be more similar to the support library.
See andkulikov/Transitions-Everywhere#6
I can reproduce the issue with this library (I believe transitions-everywhere is essentially a fork?)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.