J'ai un problème vraiment étrange avec Android Transition
API. J'ai un sharedElement
un ImageView
que je laisse le système d'exploitation gérer le Transition
entre ces deux éléments. mais je vais avoir cette question bizarre comme montrant dans le gif ci-dessous
Impossible de créer un calque pour CardView Android Transition
le seul element
que je suis animating
est le AvatarView
comme vous pouvez le voir, mais onBackPressed
plantage de l'application avec ce journal
java.lang.IllegalStateException: Unable to create layer for CardView
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:5845)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
le code qui lance le Activity
premier Layout
<com.fastaccess.ui.widgets.AvatarLayout
android:id="@+id/avatarLayout"
android:layout_width="48dp"
android:layout_height="48dp"
android:transitionName="@string/image_transition"/>
secondes Layout
<com.fastaccess.ui.widgets.AvatarLayout
android:id="@+id/avatarLayout"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="top"
android:transitionName="@string/image_transition"/>
Et voici comment je commence la Transition
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity,
sharedElement, ViewHelper.getTransitionName(sharedElement));
activity.startActivity(intent, options.toBundle());
Code Pas plus de fantaisie après, sauf que je vous appelle supportFinishAfterTransition
Voici une autre gif mais sans SharedElement Transition
& cela fonctionne très bien.
Pour être honnête, le journal Crash ne dit pas grand-chose, mais je peux confirmer son dû à la Comment TextView
est d'être Grand même quand il n'a rien à voir avec le SharedElement
mais il semble que ce soit la cause au Crash selon mes tests.
Ce sera génial si quelqu'un a déjà rencontré cela et trouvé un moyen de le réparer comme j'ai abandonné.
Toutes les suggestions seront appréciées.