问题标签 [activity-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 回答
2055 浏览

android - 使用列表/网格/回收器视图时如何为活动转换设置动画?

我正在尝试实现一些新的 Material Design 活动动画,但我读过的教程只显示了要动画的视图属于活动的示例。

在我的应用程序中,我使用的是RecyclerView,所以ImageView不是活动的一部分:

根据我的阅读,我应该像这样开始新的活动:

问题是:那mImageView不属于MainActivity. 我应该如何通过它?

0 投票
2 回答
8863 浏览

android - 活动转换错误,无法解析符号“@transition/explode”

我正在尝试Activity Transitions,当我在 values-21/styles.xml 中粘贴以下代码时出现错误:

无法解析符号“@transition/explode”

0 投票
1 回答
1956 浏览

android - 结合 Move Translation + Activity 过渡动画

我想做的事:

假设我在屏幕的右上角有一个 imageView。

A. 当我点击它时,它会移动/平移到屏幕中心

B. 然后它应该使用 SharedElement Transition 动画成新的活动

我可以使用 LINK 做 A和使用 LINKB

2 个问题

  1. 我做得对吗

  2. 如何结合A和B

在乔治的回答之后

v21/主题.xml

exit_slide_transition.xml

linear.xml (由 AnimationUtils.loadAnimation 使用)

enter_transition.xml

启动 Activity + moveImage():

0 投票
0 回答
674 浏览

android - 共享 TextView 元素的活动转换失败

我正在尝试与 Activity 共享一个 TextView,但 TextView 的文本没有出现。CardView 在一个 Fragment 中,当点击某个卡片时,在该 Fragment 的相应 Activity 附加上调用一个方法并启动一个新的 Activity。

以下是一些片段:

存储库Activity.java

card_repositories.xml //Fragment 布局的卡片

详细信息RepositoriesActivity.java

layout_details_repositories.xml

0 投票
1 回答
16522 浏览

android - Android棒棒糖共享元素过渡闪烁/闪烁

我在 Lollipop 上的共享元素转换中看到了奇怪的东西。共享元素在开始动画之前闪烁(请参见视频https://www.youtube.com/watch?v=DCoyyC_S-9A

我不知道为什么会这样。但是,当我添加<item name="android:windowSharedElementsUseOverlay">false</item>到我的主题时,我看不到闪烁,但过渡看起来并不好(它们看起来只有一半在动画“隐藏”动画的后半部分)。

其他过渡设置:

我正在使用 ActivityCompat 和 ActivityOptionsCompat 开始活动:

第一项活动:

第二个活动:

include_mini_player.xml

片段迷你播放器:

你有什么想法为什么会发生?

0 投票
1 回答
385 浏览

android - Android Activity 过渡 - ListView 分隔线可见时间过长

在我探索 Activity Transitions 的过程中,我遇到了 ListView 的问题(不幸的是我还没有迁移到 RecyclerView :()

在过渡期间,ListView 默认分隔线在很短的时间内可见(参见视频https://www.youtube.com/watch?v=nHZCzQF3XOg&spfreload=10 )。

我不知道它为什么会发生以及如何让它停止这样做。或者也许是时候迁移到 RecyclerView 了;-)?

0 投票
1 回答
3614 浏览

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

我正在尝试在 ListView 的 Master Detail 情况下进行 Android 5.0 共享元素转换。我正在发送图像。

我在进入转换时遇到了一个小故障,在主活动转换出来时,图像根本没有移动。加载 Detail 活动后,Image 从屏幕的左上角开始并动画到它的最终位置。返回过渡效果完美 - 图像从它的细节位置动画到 Master 中的正确位置。

这是它的样子: https ://www.youtube.com/watch?v=AzyA8i27qWc

我已经正确设置了我认为的权限,并指定了转换:

该转换定义为:

根据它们在列表中的位置,我为这两个视图赋予了相同的唯一transitionName 属性。

我正在使用 makeSceneTransitionAnimation 来制作动画:

(我还将导航栏指定为共享以避免它淡出,效果很好)

我不明白为什么返回转换工作正常,但输入转换却不行。我已经看到其他问题的解决方案是延迟输入转换,我尝试过这样做,但问题仍然存在。这是我在 Detail 活动中添加到 onCreate 的内容:

在我的详细活动中,没有 transitionName 元素,但我在代码中设置它。传入活动(详细信息)的相关部分是:

很高兴发布其他相关代码。有任何想法吗?

解决了

Android 开发 Google+ 页面中的用户 Chris P 为我解决了这个问题。在 onClick 方法的主活动中,我有:

解决方案是将该行替换为:

我猜调用适配器的 getView 方法是重新创建视图本身 - 我猜该方法应该只在首次创建列表时调用。

0 投票
1 回答
5279 浏览

android - 如何将我的 makeSceneTransitionAnimation 变成圆形,而不是矩形?

我目前正在尝试在我的 FAB 和另一个 Activity 之间创建一个循环过渡。

根据我在文档中的理解,我应该以与此类似的方式使用 makeSceneTransitionAnimation:

不幸的是,当前动画在动画期间显示一个矩形。

怎么可能把它变成我们喜欢棒棒糖的美丽圆形展示?

谢谢。

编辑:

我正在努力实现这一点(除了颜色应该是全屏的,但你明白了..)): 在此处输入图像描述

我实际得到的:

在此处输入图像描述

0 投票
1 回答
7521 浏览

android - FEATURE_ACTIVITY_TRANSITIONS 与 FEATURE_CONTENT_TRANSITIONS

我在理解这两个Window标志之间的区别时遇到了一些麻烦,并且不能 100% 确定何时需要使用它们以及为什么。

文档Window.FEATURE_ACTIVITY_TRANSITIONS说:

通过发送或接收使用 makeSceneTransitionAnimation(Activity, Pair[]) 或创建的 ActivityOptions 捆绑包,使活动能够运行活动转换makeSceneTransitionAnimation(Activity, View, String)

并且文档Window.FEATURE_CONTENT_TRANSITIONS说:

用于请求窗口内容更改的标志应使用TransitionManager.

使用TransitionManager设置 setTransitionManager(TransitionManager)。如果没有设置,TransitionManager将使用默认值。

文档说明以下Window方法需要FEATURE_ACTIVITY_TRANSITIONS启用该标志,但没有说明是否也FEATURE_CONTENT_TRANSITIONS需要启用该标志(请注意,根据源代码,默认情况下FEATURE_ACTIVITY_TRANSITIONStrueFEATURE_CONTENT_TRANSITIONS是针对材料主题的应用程序):false

  • get{Enter,Exit,Return,Reenter}Transition()
  • set{Enter,Exit,Return,Reenter}Transition()
  • getSharedElement{Enter,Exit,Return,Reenter}Transition()
  • setSharedElement{Enter,Exit,Return,Reenter}Transition()
  • getTransitionBackgroundFadeDuration()
  • setTransitionBackgroundFadeDuration()

换句话说,似乎基于此信息FEATURE_ACTIVITY_TRANSITIONS的是应用程序需要启用的功能标志才能使用 Lollipop 的新 Activity Transition API。然而,让我感到困惑的是, Android 开发者网站上的这篇文章指出,FEATURE_CONTENT_TRANSITIONS为了实现自定义活动转换,需要启用 。

所以这是我的问题:

  1. 这两个标志有什么区别?在这种情况下,“活动转换”和“内容转换”有什么区别?
  2. 为什么默认FEATURE_ACTIVITY_TRANSITIONS启用和FEATURE_CONTENT_TRANSITIONS禁用?何时FEATURE_CONTENT_TRANSITIONS真正需要启用标志?
  3. FEATURE_ACTIVITY_TRANSITIONS感觉禁用和启用是否有意义FEATURE_CONTENT_TRANSITIONS?或者是否也FEATURE_CONTENT_TRANSITIONS需要FEATURE_ACTIVITY_TRANSITIONS启用?

谢谢!

0 投票
0 回答
558 浏览

android - 如何在 Activity 转换期间使用共享元素快照视图?

我对List<View> sharedElementSnapshots传递给SharedElementCallback'sonSharedElementStart()onSharedElementEnd()方法的参数感到困惑。大概这些快照视图是为了在共享元素转换期间用作临时占位符。例如,假设活动A显示了缩略图,活动B显示了同一图像的高分辨率版本,加载和显示需要几秒钟。不必等待高分辨率图像完成加载,快照视图可以临时代替它使用。

我感到困惑的部分是快照视图最初是如何使用的。它们是否应该被添加到活动的视图层次结构中?或者也许它们应该被添加到窗口装饰视图中ViewOverlay?无论哪种方式,我都看不到此时如何切换过渡共享元素视图...在andonMapSharedElements()之前调用,这意味着过渡名称到共享元素的最终映射已经建立。onSharedElementStart()onSharedElementEnd()View

任何提示将不胜感激。