Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法为CardView Android转换创建层_Android_Android Animation_Android Transitions - Fatal编程技术网

无法为CardView Android转换创建层

无法为CardView Android转换创建层,android,android-animation,android-transitions,Android,Android Animation,Android Transitions,我在安卓TransitionAPI上遇到了一个非常奇怪的问题。我有一个sharedElement一个ImageView,我让操作系统处理这两个元素之间的转换。然而,我有一个奇怪的问题,如下面的gif所示 正如您所看到的,我正在制作动画的唯一元素是AvatarView,但是on backpressed使用此日志使应用程序崩溃 java.lang.IllegalStateException: Unable to create layer for CardView at android.os.Mes

我在安卓
Transition
API上遇到了一个非常奇怪的问题。我有一个
sharedElement
一个
ImageView
,我让操作系统处理这两个元素之间的
转换。然而,我有一个奇怪的问题,如下面的gif所示

正如您所看到的,我正在制作动画的唯一
元素是
AvatarView
,但是
on backpressed
使用此日志使应用程序崩溃

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)
启动
活动的代码

第一个
布局

<com.fastaccess.ui.widgets.AvatarLayout
            android:id="@+id/avatarLayout"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:transitionName="@string/image_transition"/>   
下面是我如何开始过渡的

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity,
sharedElement, ViewHelper.getTransitionName(sharedElement));
activity.startActivity(intent, options.toBundle());
在此之后,没有更多的花哨代码,除了我正在调用
supportFinishAfterTransition

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity,
sharedElement, ViewHelper.getTransitionName(sharedElement));
activity.startActivity(intent, options.toBundle());
这里是另一个gif,但是没有
SharedElement转换
&它确实可以正常工作。

老实说,崩溃日志说明的不多,但我可以确认,由于
注释文本视图
很大,即使它与
共享删除无关,但根据我的测试,它似乎是导致崩溃的原因。
如果有人以前遇到过这个问题,并且在我放弃时找到了解决方法,那就太好了

如有任何建议,将不胜感激

第一次修复尝试:

RowItem
rootLayout
本身上设置
android:transitionGroup=“false”
,就像我在
ViewPager
RecyclerView
上设置一样,同样的崩溃也会发生。另一个重要步骤是在
hasOverlappingRendering()上返回
false
来自自定义
TextView
类。但这会导致
ExitTransition
的背景颜色不稳定另一个奇怪的问题我将对此进行深入研究&在我找到解决不稳定背景的方法或其他人有不同的方法解决此问题之前,我不会接受这个答案

编辑

奇怪的背景实际上是
cardwiew
本身,它包含
CommentTextView

编辑

实际上,
cardwiew
是真正的原因&而不是长的
TextView
我已经将cardwiew更改为
LinearLayout
,作为我行项目的根元素,并删除了我上面所做的所有变通方法,一切似乎都很正常。我不知道它为什么会导致这个问题,我希望有人能真正帮助我&详细说明为什么大型
cardwiew
会导致这个问题