问题标签 [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.
android - 使用列表/网格/回收器视图时如何为活动转换设置动画?
我正在尝试实现一些新的 Material Design 活动动画,但我读过的教程只显示了要动画的视图属于活动的示例。
在我的应用程序中,我使用的是RecyclerView
,所以ImageView
不是活动的一部分:
根据我的阅读,我应该像这样开始新的活动:
问题是:那mImageView
不属于MainActivity
. 我应该如何通过它?
android - 活动转换错误,无法解析符号“@transition/explode”
我正在尝试Activity Transitions,当我在 values-21/styles.xml 中粘贴以下代码时出现错误:
无法解析符号“@transition/explode”
android - 共享 TextView 元素的活动转换失败
我正在尝试与 Activity 共享一个 TextView,但 TextView 的文本没有出现。CardView 在一个 Fragment 中,当点击某个卡片时,在该 Fragment 的相应 Activity 附加上调用一个方法并启动一个新的 Activity。
以下是一些片段:
存储库Activity.java
card_repositories.xml //Fragment 布局的卡片
详细信息RepositoriesActivity.java
layout_details_repositories.xml
android - Android棒棒糖共享元素过渡闪烁/闪烁
我在 Lollipop 上的共享元素转换中看到了奇怪的东西。共享元素在开始动画之前闪烁(请参见视频https://www.youtube.com/watch?v=DCoyyC_S-9A)
我不知道为什么会这样。但是,当我添加<item name="android:windowSharedElementsUseOverlay">false</item>
到我的主题时,我看不到闪烁,但过渡看起来并不好(它们看起来只有一半在动画“隐藏”动画的后半部分)。
其他过渡设置:
我正在使用 ActivityCompat 和 ActivityOptionsCompat 开始活动:
第一项活动:
第二个活动:
include_mini_player.xml
片段迷你播放器:
你有什么想法为什么会发生?
android - Android Activity 过渡 - ListView 分隔线可见时间过长
在我探索 Activity Transitions 的过程中,我遇到了 ListView 的问题(不幸的是我还没有迁移到 RecyclerView :()
在过渡期间,ListView 默认分隔线在很短的时间内可见(参见视频https://www.youtube.com/watch?v=nHZCzQF3XOg&spfreload=10 )。
我不知道它为什么会发生以及如何让它停止这样做。或者也许是时候迁移到 RecyclerView 了;-)?
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 方法是重新创建视图本身 - 我猜该方法应该只在首次创建列表时调用。
android - 如何将我的 makeSceneTransitionAnimation 变成圆形,而不是矩形?
我目前正在尝试在我的 FAB 和另一个 Activity 之间创建一个循环过渡。
根据我在文档中的理解,我应该以与此类似的方式使用 makeSceneTransitionAnimation:
不幸的是,当前动画在动画期间显示一个矩形。
怎么可能把它变成我们喜欢棒棒糖的美丽圆形展示?
谢谢。
编辑:
我正在努力实现这一点(除了颜色应该是全屏的,但你明白了..)):
我实际得到的:
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_TRANSITIONS
是true
和FEATURE_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
为了实现自定义活动转换,需要启用 。
所以这是我的问题:
- 这两个标志有什么区别?在这种情况下,“活动转换”和“内容转换”有什么区别?
- 为什么默认
FEATURE_ACTIVITY_TRANSITIONS
启用和FEATURE_CONTENT_TRANSITIONS
禁用?何时FEATURE_CONTENT_TRANSITIONS
真正需要启用标志? FEATURE_ACTIVITY_TRANSITIONS
感觉禁用和启用是否有意义FEATURE_CONTENT_TRANSITIONS
?或者是否也FEATURE_CONTENT_TRANSITIONS
需要FEATURE_ACTIVITY_TRANSITIONS
启用?
谢谢!
android - 如何在 Activity 转换期间使用共享元素快照视图?
我对List<View> sharedElementSnapshots
传递给SharedElementCallback
'sonSharedElementStart()
和onSharedElementEnd()
方法的参数感到困惑。大概这些快照视图是为了在共享元素转换期间用作临时占位符。例如,假设活动A
显示了缩略图,活动B
显示了同一图像的高分辨率版本,加载和显示需要几秒钟。不必等待高分辨率图像完成加载,快照视图可以临时代替它使用。
我感到困惑的部分是快照视图最初是如何使用的。它们是否应该被添加到活动的视图层次结构中?或者也许它们应该被添加到窗口装饰视图中ViewOverlay
?无论哪种方式,我都看不到此时如何切换过渡共享元素视图...在andonMapSharedElements()
之前调用,这意味着过渡名称到共享元素的最终映射已经建立。onSharedElementStart()
onSharedElementEnd()
View
任何提示将不胜感激。