问题标签 [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 投票
1 回答
4543 浏览

android - 在共享元素活动转换中为嵌套视图设置动画时出现故障?

我一直在搞乱 Android 5.0 中的新 API,并一直试图弄清楚是否可以在Activity 过渡ViewGroup期间将 a 和它的一个子项分别作为共享元素设置动画。

下面的屏幕截图给出了我想要实现的简化示例:

第一个活动初始位置 第二次活动最终位置

在第一个活动中,深灰色框位于ViewGroup屏幕中心,红色框为其子View项(我使用的布局 XML 代码可以在此处找到)。当用户点击深灰色框时,深灰色框应逐渐放大以填充第二个活动的背景。同时,红框应逐渐缩放并重新定位在第二个活动的左上角。

活动和动画代码

Activity我用来执行转换的代码很简单:

问题

当我单击第一个活动中的深灰色框时,共享元素转换开始,深灰色框很好地放大以填充第二个活动的背景。但是,红色框似乎根本没有动画。过渡开始后,红色框会突然调整大小并将其自身定位在第二个活动中的最终位置,而灰色框甚至还没有完成动画。

我的问题

ViewGroup是否可以将一个和一个/部分/所有子视图独立地动画化为Activity过渡中的共享元素?如果是这样,我做错了什么,我能做些什么来确保孩子们的观点也是动画的?

如果您无法按照我的描述进行操作,此示例项目的完整源代码可在GitHub 上获得,并且可在此处下载可运行的 APK (您需要运行 Android 5.0 的物理设备或模拟器来运行 APK)。

0 投票
12 回答
6387 浏览

android - android 5 上的共享元素活动转换

从一个活动到另一个活动时,我想设置一个共享元素转换。

第一个 Activity 有一个带有项目的 RecyclerView。当一个项目被点击时,该项目应该动画到新的活动。

所以我在两个最终的活动视图上设置了一个 android:transitionName="item" ,以及回收器视图项目视图。

在进行下一个活动时,我也在使用此代码:

单击项目时,它会正确转换并显示新视图。这真的很好。但是,当我单击后退按钮时。有时它工作正常,但大多数时候我的活动因以下堆栈跟踪而崩溃:

我究竟做错了什么?它看起来像android 5中的一个错误

0 投票
4 回答
18228 浏览

java - 活动/片段转换是否与棒棒糖之前的设备兼容?

我正在尝试在棒棒糖之前的设备 (4.x) 上使用共享元素进行活动转换。可能吗?到目前为止,我正在尝试这个:

调用者:

但它会导致“常规”转换(没有共享元素)。有任何想法吗?

编辑

根据这个视频,它可以做到:

https://www.youtube.com/watch?v=RhiPJByIMrM&index=8&list=WL

是否有一个图书馆已经为 pre Lollipop 实现了这个?

0 投票
1 回答
10464 浏览

android - 共享元素的活动转换中的打嗝

我想使用 Android Lollipop 的新 Activity Transitions。但目前我在动画中看到了非常奇怪的打嗝。我拼凑了我能想到的最小的样本。

这是我在一个非常简短的版本中所做的:

  1. 在我的启用窗口内容转换styles.xml
  2. slide.xml以我的风格引用了一个非常简单的退出过渡
  3. android:transitionName为两种布局中的共享元素提供了一个
  4. ActivityOptions.makeSceneTransitionAnimation()用那个名字和我想分享的视图调用
  5. 将生成的捆绑包传递给startActivity()

这是我看到的行为(尝试将动画速度降低 10 倍以了解我的意思):就在幻灯片动画滑下未共享的视图之前,这些视图向下跳了一下。他们实际上分开了一点。

但是:这只发生在我第二次运行该动画时(以及之后的每次)。第一遍看起来还不错。而且只有当我想与下一个活动共享一个元素时才会发生这种情况。如果我不尝试共享元素,一切正常。

这是我的代码:

值/样式.xml

过渡/幻灯片.xml

主要活动的布局

MainActivity.java

0 投票
5 回答
13088 浏览

android - 如何使用共享元素转换来缩放文本视图?

我能够让 TextViews 使用ActivityOptions.makeSceneTransitionAnimation. 但是,我想让文本在转换时按比例放大。我可以看到材料设计示例在联系人卡片转换中放大了文本“Alphonso Engelking”。

我尝试在目标 TextView 上设置缩放属性并使用 changeTransform 共享元素转换,但它不会缩放,并且文本最终在转换时被截断。

如何使用共享元素转换缩放 TextView?

0 投票
2 回答
25602 浏览

android - 使用带有 ChangeImageTransform 的共享元素转换在两个活动之间为 ImageView 设置动画

我正在尝试将一个 ImageView 动画到 Android API 级别 21 中的两个活动之间的另一个位置。由于 Android L Preview 中的“MoveImage”已被删除,我改用“ ChangeImageTransform ”,但文档中的示例代码不起作用(两个图像分别动画)。

有没有可行的例子?谢谢!

0 投票
9 回答
48664 浏览

android - 如何在活动场景动画过渡期间防止状态栏和导航栏出现动画?

首先,我的状态栏背景设置为深棕色,我的导航栏背景默认为黑色。我正在使用 Material light 主题。

我正在使用ActivityOptions.makeSceneTransitionAnimation默认转换开始一个新活动,我注意到状态栏和导航栏都短暂地淡化为白色,然后又恢复为正确的颜色。

根据文档

要获得转换的完整效果,您必须在调用和被调用的活动上都启用窗口内容转换。否则,调用活动将启动退出转换,但随后您会看到窗口转换(如缩放或淡入淡出)

getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);在呼叫和被叫活动中都使用。

同样,如果我将输入转换更改为幻灯片,状态栏和导航栏都会短暂地具有白色背景的幻灯片转换。

如何在活动场景动画过渡期间防止状态栏和导航栏出现动画?

0 投票
1 回答
2327 浏览

android - 英雄过渡不起作用 Android Lollipop

我试图在活动之间制作动画/过渡,但我无法使其完美和良好。而且我找不到任何帮助指南。你能告诉我如何创建一个 ActivityOptions 转换,如下所示:http: //3.bp.blogspot.com/-dadidlU3muU/VE6og4Ra_BI/AAAAAAAAA8E/uVCWrYMetGI/s400/herotransition.gif

一步步?谢谢。

0 投票
1 回答
1327 浏览

android - Android中两个不同应用程序之间的共享元素转换?

是否有可能在两个不同的应用程序之间使用共享元素转换?

0 投票
1 回答
2959 浏览

android - 在 Android 5.0 中转换 ImageView 时出现奇怪的问题

我遇到了一个关于ImageViewAndroid 5.0 中活动之间转换的奇怪问题/错误。

我正在尝试将缩略图从Fragment A(in ) 转换为( in Activity A) 的标题图像。它在大多数情况下运行良好,但有时会稍微有点混乱。Fragment BActivity B

这是它搞砸时的样子:

真是一团糟... :-)

自然,它应该填满整个区域。两个 ImageViews 都设置为ScaleType.CENTER_CROP,所以我无法想象这是问题所在。

奇怪的是,该问题在滚动后立即自行修复Activity B(所有内容都包含在一个子类ScrollView中,该子类在滚动时会更改ImageView填充)。

启动代码Activity B非常简单:

以下是可观察ScrollView侦听器的代码:

另外,这是我的主题风格的一部分:

有任何想法吗?