问题标签 [shared-element-transition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1891 浏览

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

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

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

如您所见,当我打开活动时一切都很好。当我关闭它时,就会发生故障。正如你所看到的,所有元素都像它们应该的那样淡出,除了 web 视图。它一直挂在那里直到动画结束,有点破坏动画的整个平滑度。

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

提前致谢。

0 投票
2 回答
16669 浏览

android - 了解退出/重新进入共享元素转换

我正在对 Android L 中的共享元素转换进行一些基本探索。我设置的简单示例有一个在活动转换期间从屏幕顶部转换到屏幕底部的图像视图,并且我已经延长了转换持续时间所以我可以看到工作正常。到目前为止,我遇到了两个问题,试图了解共享元素转换是如何工作的。

1) 仅使用 Enter/Return 转换时(Exit/Reenter 设置为 null)。输入过渡很好,但是当按下后退按钮时,视图会动画一段时间,停止,然后重新出现在最终位置。似乎与这个问题相似,但我已将所有 Exist/Reenter 转换设置为 null,所以不确定它为什么会发生。

2) 仅使用 Exit/Reenter 转换时(Enter/Return 设置为 null)。什么都没有发生,视图在屏幕上向下转换,就像它遵循默认的输入转换(300 毫秒持续时间)一样,当按下返回时,视图会弹回其原始位置。

如何使用退出/重新进入过渡?

这是我的代码:

activity_main.xml

activity_second.xml

MainActivity.java

SecondActivity.java

0 投票
0 回答
1013 浏览

android - 是否可以在 Activity 转换中向结束视图添加填充?

我不确定这是一个缺陷还是我在这里做错了什么。当我将 ImageView 作为两个活动之间的共享元素时,如果最终图像视图具有填充,则图像视图不再尊重屏幕底部的导航栏。如果我将填充移动到容器视图中,或者改用边距,它可以正常工作。

第二个 imageView 上带有填充的动画视频:https ://www.youtube.com/watch?v=hg4bc6h2u5o&feature=youtu.be

第二个 imageView 上没有填充的动画视频:https ://www.youtube.com/watch?v=pW4hyAfn9Hs&feature=youtu.be

第一个活动xml:

第二个活动xml:

第一项活动:

第二个活动:

0 投票
0 回答
1538 浏览

android-fragments - 共享元素转换是否适用于不同容器中的片段?

我想在我的 Android Lollipop 应用中实现共享元素转换。在我阅读了文档、SO 问题和一些帖子之后,我决定试一试,但现在我遇到了问题。

场景是我有两个片段容器(用于平板电脑),就像正常的列表/详细信息设计模式一样。

我想在列表项被触摸时在列表片段到详细片段之间进行共享元素转换。细节片段的输入是可以的,但是当我按下返回按钮时,应用程序在转换框架代码中崩溃并出现 NullPointerException。

共享元素转换是否支持该场景?

下面是开始细节片段的代码:

Logcat 在这里:

0 投票
2 回答
8258 浏览

android - 在 Android 5.0 上的活动之间转换时如何排除 ActionBar

在 Android 5.0 Lollipop 上,

我有两个活动 A 和 B。活动 B 有一个从底部使用 Overlay ActionBar 的 slie enter 过渡,但是当 B 显示时,ActionBar 也从底部滑动到顶部。

如何防止操作栏滑动过渡。系统操作栏有我可以添加到排除目标的 id 吗?

谢谢!

0 投票
1 回答
2403 浏览

android - 片段转换是否有“setSharedElementsUseOverlay()”方法?

在共享元素活动过渡期间,ViewOverlay默认情况下在窗口装饰视图中绘制共享元素。Window#setSharedElementsUseOverlay(false)如有必要,开发人员可以通过调用该方法来禁用此默认行为。然而Fragment,该类似乎没有为片段转换声明类似的方法。

对于 Fragment 过渡,默认情况下,共享元素是否也绘制在 Fragment 视图层次结构顶部的视图覆盖中?如果是这样,有没有办法像 Activity 转换 API 那样禁用默认行为?

0 投票
1 回答
1586 浏览

android - 为什么只有被调用活动的共享元素进入过渡运行?

我尝试在我的应用程序中添加我的自定义共享元素转换,并使其在不同活动中的一些不同模式下工作。但是在我的测试中,只执行了被调用活动的进入转换。

这是我在调用活动 A 中的代码:

这是我在被调用活动 B 中的代码:

我在我的 PortalHeaderBackgroundTransition 中添加断点,每当 A 调用 B 或 B 回到 A 时,只执行模式 2 转换。

为什么会这样?什么时候执行另一个转换?

0 投票
5 回答
5576 浏览

android - 背面的反向共享元素过渡

我目前正在使用以下代码将屏幕右侧的块转换为左侧的共享元素:

这完全符合我的要求,但我想在按下后退按钮时反转效果,将项目重新设置为动画。按原样,爆炸动画播放,但过渡不播放。

任何帮助是极大的赞赏。

谢谢乔什

0 投票
1 回答
7816 浏览

android - 共享元素转换没有预期的行为

我实现了从 RecyclerView 中的图像到新 Fragment 中的图像之间的共享元素转换。RecyclerView 托管在 Activity 托管的片段中,目标片段托管在另一个 Activity 中。

当我点击我的图片时,转换就像预期的那样发生,我到达了我的片段。但是当我单击后退按钮时,转换试图将我的图像放在我的 RecyclerView 的第一个位置,而它当前显示的图像不一定是第一个。

从这种情况来看,我认为因为它是一个图像列表,我在 XML 中设置了一个转换名称,也许当返回时,由于所有图像都有相同的转换名称,这个过程很混乱,只得到第一个图像给定姓名。所以也许我应该动态地给他们每个人一个不同的过渡名称。我还为目标图像设置了相同的名称,并在每次选择新图像时重置它。但它仍然无法正常工作。任何人都可以帮助我吗?

这是我的 onItemClickListener 中的代码:

这是目标片段中的代码:

这是themes.xml:

编辑:

我发现了我的错误,我从片段 roo​​tView 获取 ImageView,它从我的 RecyclerView 给了我一个随机的 ImageView,这意味着错误的转换名称。所以我使用了 onItemClick 给出的视图,它起作用了!我还移动setTransitionName()了适配器内部。

0 投票
13 回答
33311 浏览

android - 活动之间的图像转换时闪烁的屏幕

我使用棒棒糖中的新共享元素实现了两个活动之间的图像转换。它正在工作,但在转换过程中我在整个屏幕上得到一个奇怪的白色闪烁,我找不到如何摆脱它。这是一个例子: 状态栏也闪烁

这是第二个活动的启动方式

然后在 onCreate 中:

和主题文件:

谢谢你的帮助