问题标签 [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.
animation - 延迟共享元素转换以完成状态列表动画
我一直在尝试在 Lollipop 上共享元素转换。我有一个 recyclerview 可以加载一些卡片,然后单击卡片会在下一个活动中展开到其详细信息。
我在卡片上设置了涟漪效果和 StateListAnimator。但是这些是不可见的,因为过渡在这些效果完成之前就开始了。
有什么方法可以延迟过渡,以便它可以等待状态列表动画师和涟漪完成?
这是我使用的代码
提前致谢
android - 将重新输入动画更改为列表的另一个项目
我有一个带有图像的 RecyclerView,当我按下图像时,应用程序会打开另一个包含 ViewPager 的活动,该 ViewPager 具有相同的图像,但位于我选择的位置。
我已经在 Lollipop 中完成了转换,以便在被调用的活动中使用 supportPostponeEnterTransition 和 supportStartPostponedEnterTransition 在活动之间共享此图像,以等待 viewPager 加载图像以开始转换。
当我进入被调用的活动并且当我按下时,转换就可以了。
我面临的问题是,如果我移动到被调用活动的 ViewPager 中的另一个图像,当我按下它时,它会动画它在开始时选择的图像,而不是当前选择的图像。
我已经能够将动画图像更改为在调用的活动中选择的图像:
但它正在返回到调用活动列表中原始图像的相同位置。
如何使图像返回到其在调用活动列表中的位置?
android - 在不同方向的活动之间使用共享元素转换
我有一个永久设置为横向的活动 A 和一个没有任何预定义方向的活动 B。
如果我从活动 A 开始活动 B 并且手机旋转处于横向角度,则共享元素转换正常工作并且活动 B 按预期以横向开始。如果在 Activity B 启动期间手机旋转处于纵向角度,则会出现问题。然后,Activity B 以纵向方向启动(如预期的那样)但没有发生转换。
以前有没有人遇到过这个问题?任何帮助,将不胜感激。这是从活动 A 调用活动 B 的方式:
Intent mIntent = new Intent(context, ActivityB.class);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, sharedView,sharedViewTransitionName);
startActivity(mIntent,options.toBundle());
android - 恢复活动时棒棒糖过渡不起作用
按照 Alex Lockwood 很棒的博客文章中的步骤,我在几天内一直在尝试实现新的 Lollipop 活动和共享元素转换。但现在我面临一个问题。
我的应用程序使用 DrawerLayout 进行导航,但我也可以在单击其他视图和按钮时启动一些活动。我已经正确设置了所有活动的所有 Enter、Reenter、Return 和 Exit 转换以及调用:
startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(activity, getSharedViewsPairs(activity)).toBundle());
对于这些活动之间的共享元素。
如果我是第一次启动活动,过渡效果很好。当我尝试启动/恢复之前已经调用但现在已暂停并且仍然存在于活动堆栈上的活动时,我的问题就出现了。当我尝试将此活动置于前台时,则没有过渡。
我还不得不说,我为我的所有活动设置了 Intent 标志FLAG_ACTIVITY_REORDER_TO_FRONT以便如果它们之前已经启动过,我不会再次启动它们。这和它有什么关系吗?我是否错过了一些在恢复之前通过转换启动的活动时需要调用的方法?
准备活动转换的代码:
作为
android - 结合activity自定义动画和场景过渡动画
可以ActivityOptionsCompat.makeCustomAnimation()
和和结合ActivityOptionsCompat.makeSceneTransitionAnimation()
吗?我想实现以下Activity
更改效果:
- 一个视图停留在屏幕上
- 旧活动的其他视图滑出
- 来自新活动的视图淡入
我可以分别使用第 1 点和第 2 点、第 3点,有没有办法同时使用它们,也许使用不同的方法或其他方法?
android - 干净地在 3 个活动之间进行动画/过渡
我有 3 项活动 - A、B 和 C。
活动 A 启动 B 以获得活动结果。我在 B 关闭时使用 overridePendingTransition,给它一个性感的完成效果并返回到 A。然后 A 确保结果是好的,并再次使用 overridePendingTransition 以(不同的)性感打开效果启动 C。
问题:
C 的 overridePendingTransition 是快速启动并破坏 B 的完成效果的方式。
问题:
是否有一个监听器可以用来确保 B 的转换在开始 C 之前完成?
android-5.0-lollipop - Android Lollipop 过渡中的动画文本颜色
我们正在尝试进行转换,将一个 Activity 的 TextView 移动到另一个 Activity 的另一个 TextView。常见的真棒 Android Lollipop 过渡,用于动画共享视图。
在我们的场景中,第一个 TextView 是白色的,第二个是红色的。它也有不同的尺寸。
我们遇到的问题是,如果我们仔细观察动画并且手机处于慢动作动画中,我们可以看到白色的 TextView 没有做任何动画。取而代之的是,红色的 TextView 在白色的上面生成,然后动画到最终位置。
我们想要实现的是在白色 TextView 移动到红色时淡出它,并从白色 TextView 淡入红色,同时对其进行动画处理。嗯......你知道,做一个令人难以置信的效果:·)
为了实现它,我们在主题定义中使用了过渡:
而且,在我们的 auto_transition.xml 文件中:
但是,可以肯定的是,这不是 Android 人希望它工作的方式。
如果有人有任何见识,那将非常感激。谢谢!
android - Android材料设计前棒棒糖活动过渡
我使用 android 材料设计支持库创建了一个应用程序,它工作得非常好。我试图在 这里使用这个库包含 Activity 转换,但我不知道从哪里开始,因为它是用 gradle 构建的,我不知道它。 (我正在为我的项目使用 intellij 想法)。提前致谢。
android - ImageView 共享元素转换(在 Activity 之间)以错误的 scaleType 开始
一开始就发现了fresco的SimpleDraweeView的问题。但是,在我用 android ImageView 替换后问题仍然存在。所以我不能确定问题是由于Android还是壁画。
问题是什么
- 第一个活动有回收视图,每个视图都有一个 ImageView(或 SimpleDraweeView)。想要的 scaleType 是“centerCrop”
- 第二个活动只有一个 ImageView。想要的 scaleType 是“fitCenter”
但是在我的私人项目以及示例项目中。
https://github.com/JackFan-Z/ActivitySharedElementTransition
ImageView 以 scaleType "fitCenter" 开头,这是错误的。
我试图推迟共享元素转换,并在 SharedElementCallback 的回调中设置不同的共享元素 scaleType。但它们都没有真正起作用。任何人都可以帮助找出问题所在,或者在哪里调试?
问题截图
android - 了解活动返回转换
当我从活动 A 启动活动 B 时,我目前正在使用自定义共享元素转换。一切正常。
我想使用另一个Transition
不涉及任何共享元素的自定义从活动 B 到活动 A 的返回转换。但是,我在几个部分遇到了问题:
- 我如何告诉框架返回转换不涉及任何共享元素?
- 返回转换中转换的开始值和结束值是多少?对于进入转换,我主要操纵活动 B 的视图,因为它们绘制在活动 A 的顶部。在返回过渡中会发生什么?
感谢我能得到的任何帮助!
编辑:
进一步调查显示,createAnimator
即使我正在调用,我的返回转换甚至都没有被调用setSharedElementReturnTransition
。但我知道 set 调用正在做某事,因为它现在不会尝试反转原始输入动画(默认行为),而不仅仅是重叠两个视图。
编辑#2:
看了乔治·芒特的回答后,我补充说
这现在导致我的返回过渡createAnimator
至少运行,尽管动画仍然很奇怪。为什么能见度很重要?