gpt4 book ai didi

android - Lollipop 上的共享元素转换中的 Webview 故障

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:25 24 4
gpt4 key购买 nike

我刚刚开始使用 appcompat 支持库为 Android 5.0 重建我的应用程序。我刚刚完成了一个以共享元素为特色的过渡。它似乎运行良好,直到我添加一个 webview

我制作了一个视频来演示故障。 https://www.youtube.com/watch?v=MuuGZc0Vwow

如您所见,当我打开 Activity 时一切正常。当我关闭它时,会出现故障。正如您所看到的,除了 webview 之外,所有元素都按照应有的方式淡出。它只是卡在那里直到动画结束,有点破坏动画的整体流畅性。

我该如何解决这个问题?如果它可能与我设置事物的方式有关,我很乐意分享一些代码。

提前致谢。

最佳答案

之所以会出现这个问题是因为WebView extends AbsoluteLayout。默认情况下,不是“过渡组”且没有可绘制背景的 ViewGroup不会由 Activity 的窗口内容过渡设置动画。为了修复 WebView 的故障,您需要调用 webView.setTransitionGroup(true)(或使用 android:transitionGroup= 在 XML 中设置属性) “真”)。这应该会导致 WebView 作为 Activity 转换的一部分逐渐消失,而不是简单地坐在那里直到在转换结束时突然被删除。

至于您收到的“Unable to create layer for WebView”错误,我想那是因为转换框架在期间自动为 WebView 创建了一个硬件层过渡以及由于某种原因,框架在尝试创建层时崩溃。这听起来像是与 Android 的内部图形管道相关的一个完全独立的问题……我不确定我能否在没有更多信息的情况下给你一个很好的答案来说明为什么会发生崩溃。

the bottom of this blog post 中也讨论了这个问题.

关于android - Lollipop 上的共享元素转换中的 Webview 故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27317044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com