A backport of the new Transitions API for Android

Overview

TransitionsBackport

Android library for using the Transitions API released with Android KitKat on older versions of Android. At the moment, it is compatible with Android 4.0 (API 14) and above.

Usage

The API is exactly the same as the Transitions API, just change your imports from android.transition.XXX to android.support.transition.XXX. If you use XML files to create your transitions you need to put them in the res/anim folder instead of the res/transition folder.

You can take a look at this video from Chet Haase explaining how to use the Transitions API.

This is an early backport, some features may not be available yet.

Developed By

License

Copyright 2013 Stéphane Guérin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Transition.setReparent(true) causes artifacts left on screen

    Transition.setReparent(true) causes artifacts left on screen

    On API < JelleBean OverlayCompatibilityHelper seems not to remove views' bitmaps properly and artifacts are left on screen, see video: http://monosnap.com/file/76RvSQEKkk5M4KnRsT054NOR4ZkwVI

    opened by almozavr 1
  • Removed min and target version from manifest

    Removed min and target version from manifest

    We don't need to set min and target version here as it is already defined in the build.gradle. Plus it should fix

    Execution failed for task ':MyApp:processDebugManifest'.
    > Manifest merging failed. See console for more info.
    Main manifest has <uses-sdk android:minSdkVersion='10'> but library uses minSdkVersion='14'
    
    opened by castorflex 0
  • Fixing ArrayIndexOutOfBoundsException.

    Fixing ArrayIndexOutOfBoundsException.

    Fixes the following crash.

    AndroidRuntime  E  FATAL EXCEPTION: main
                            E  java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1
                            E      at java.util.ArrayList.remove(ArrayList.java:401)
                            E      at android.support.transition.utils.ViewOverlayCompat.removeView(ViewOverlayCompat.java:59)
                            E      at android.support.transition.utils.OverlayCompatibilityHelper.removeViewOverlay(OverlayCompatibilityHelper.java:44)
                            E      at android.support.transition.Fade$3.onAnimationEnd(Fade.java:337)
                            E      at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1018)
                            E      at android.animation.ValueAnimator.access$400(ValueAnimator.java:51)
                            E      at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:623)
                            E      at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:639)
                            E      at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
                            E      at android.view.Choreographer.doCallbacks(Choreographer.java:555)
                            E      at android.view.Choreographer.doFrame(Choreographer.java:524)
                            E      at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
                            E      at android.os.Handler.handleCallback(Handler.java:615)
                            E      at android.os.Handler.dispatchMessage(Handler.java:92)
                            E      at android.os.Looper.loop(Looper.java:137)
                            E      at android.app.ActivityThread.main(ActivityThread.java:4745)
                            E      at java.lang.reflect.Method.invokeNative(Native Method)
                            E      at java.lang.reflect.Method.invoke(Method.java:511)
                            E      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
                            E      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                            E      at dalvik.system.NativeStart.main(Native Method)
    
    opened by arriolac 0
  • Change your root package name to other than

    Change your root package name to other than "android"

    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.

    opened by eneim 1
  • Customizing changeBounds animation in xml ignores attributes(?)

    Customizing changeBounds animation in xml ignores attributes(?)

    See https://github.com/andkulikov/transitions-everywhere/issues/6

    I can reproduce the issue with this library (I believe transitions-everywhere is essentially a fork?)

    opened by loeschg 0
  • Enhancement: Add API Level 21-Transitions

    Enhancement: Add API Level 21-Transitions

    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

    opened by kashban 2
  • Crash on view transition; bitmap has invalid sizes.

    Crash on view transition; bitmap has invalid sizes.

    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.

    opened by alkimake 0
Owner
Stéphane Guérin
Co-founder of @Immersiv and the @paug. Former CTO of @netcosports.
Stéphane Guérin
Set of extra Transitions on top of Jetpack Transitions Library

Transitions Everywhere Set of extra Transitions on top of AndroidX Transitions Library. About Article about transitions and library Originally this li

Andrey Kulikov 4.8k Apr 27, 2021
An android project presenting some transitions you can use between activities

ActivityTransition An android project presenting some transitions you can use between activities #Integration Add the anim folder to your Android proj

null 260 Nov 29, 2022
Navigation pattern like in Google News Stand app with transitions

Google-NewsStand-Animation-Android Navigation pattern like in Google News Stand app with transitions Getting Started In your build.gradle dependencies

Hariprasanth S 129 Nov 11, 2022
🍭🚀💗 Tutorials about animations with Animators, Animated Vector Drawables, Shared Transitions, and more

?????? Tutorials about animations with Animators, Animated Vector Drawables, Shared Transitions, and more

Smart Tool Factory 696 Dec 28, 2022
RX-based async paradigm, Room, DI (Hilt), Retrofit, MVVM, Jetpack, Lottie, Transitions

CatBreedsApp RxJava, Room, DI (Hilt), Jetpack, Shared element transition. clean MVVM architecture, Retrofit Cats need your help, we want to build an a

Cristian Dumitrache 3 Oct 14, 2022
DuGuang 1k Dec 14, 2022
Compose-actors - Android app built with jetpack compose follows new revamped guide to app architecture

Compose Actors ?? Inspired from JetCaster JetNews JetSnack More compose content

Raj 110 Dec 29, 2022
Implementation of Ripple effect from Material Design for Android API 9+

RippleEffect ExpandableLayout provides an easy way to create a view called header with an expandable view. Both view are external layout to allow a ma

Robin Chutaux 4.9k Dec 30, 2022
[] Android library for using the Honeycomb animation API on all versions of the platform back to 1.0!

DEPRECATED NineOldAndroids is deprecated. No new development will be taking place. Existing versions will (of course) continue to function. New applic

Jake Wharton 4.5k Jan 9, 2023
Fast marker clustering library for Google Maps Android API.

Google Maps Clustering for Android A fast marker clustering library for Google Maps Android API. Motivation Why not use Google Maps Android API Utilit

Sharewire 294 Dec 5, 2022
Circle based animations for Android (min. API 11)

CircularTools Circle based animations for Android (min. API 11) Currently implemented: Circular reveal Circular transform Radial reaction Reveal:YouTu

AutSoft 209 Jul 20, 2022
Splash screen demo that used with ‘Splash Screen‘ API on Android 12.

Splash Screen Feature Splash screen demo that used with Splash Screen API on Android 12. ?? Screenshot Default splash screen Splash screen with animat

Ellison Chan 60 Nov 16, 2022
Postman is a reactive One-tap SMS verification library. This library allows the usage of RxJava with The SMS User Consent API

What is Postman? Postman is a reactive One-tap SMS verification library. This library allows the usage of RxJava with The SMS User Consent API Usage P

Cafer Mert Ceyhan 129 Dec 24, 2022
A component for flip animation on Android, which is similar to the effect in Flipboard iPhone/Android

android-flip Aphid FlipView is a UI component to accomplish the flipping animation like Flipboard does. A pre-built demo APK file for Android OS 2.2+

Bo 2.8k Dec 21, 2022
:rocket: Ultimate Android Reference - Your Road to Become a Better Android Developer

The goal of this project is to provide a hand-picked collection of Android libraries, tools, open-source projects, books, blogs, tutorials - you name

Aritra Roy 7.6k Jan 4, 2023
Deprecated in favour of https://developer.android.com/reference/android/support/v4/view/animation/PathInterpolatorCompat.html

Deprecated: use https://developer.android.com/reference/android/support/v4/view/animation/PathInterpolatorCompat.html instead. android-cubic-bezier-in

Codesoup 161 Jan 1, 2023
Android Country Picker is a Kotlin-first, flexible and powerful Android library that allows to integrate Country Picker with just a few lines.

1. Add dependency dependencies { implementation 'com.hbb20:android-country-picker:X.Y.Z' } For latest version, 2. Decide your use-case

Harsh B. Bhakta 65 Dec 6, 2022
Allows the easy creation of animated transition effects when the state of Android UI has changed

android-transition Android-Transition allows the easy creation of view transitions that reacts to user inputs. The library is designed to be general e

Kai 615 Nov 14, 2022
Actions for android animations. Inspired by libgdx scene2d actions.

Android Animations Actions Actions for android animations. Inspired by libgdx scene2d actions. The main goal of this project is making creating of com

dtx12 137 Nov 29, 2022