我对Android Transition
API有一个非常奇怪的问题。我有sharedElement
和ImageView
,我让操作系统处理这两个元素之间的Transition
。但是我有这个奇怪的问题,如下面的 gif 中所示
我可以看到element
animating
AvatarView
唯一onBackPressed
,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)
使用此日志导致应用程序崩溃
Activity
启动Layout
首先<com.fastaccess.ui.widgets.AvatarLayout
android:id="@+id/avatarLayout"
android:layout_width="48dp"
android:layout_height="48dp"
android:transitionName="@string/image_transition"/>
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"/>
Transition
以下是我开始ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity,
sharedElement, ViewHelper.getTransitionName(sharedElement));
activity.startActivity(intent, options.toBundle());
supportFinishAfterTransition
此后不再使用花哨的代码,除非我正在调用SharedElement Transition
这是另一个 gif ,但没有Comment TextView
&amp;它确实工作正常。
老实说崩溃日志并不多见,但我可以确认它是由于SharedElement
正在大,即使它没有任何内容使用DataFrame
,但根据我的测试,它似乎是崩溃的原因。
如果有人之前遇到过这种情况会很好,并且在我放弃的时候找到了修复它的方法。
任何建议将不胜感激。