问题标签 [fragment-transitions]
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 - 片段之间动画的共享元素
我正在尝试将 2 个简单视图从 RecyclerView 中的选定项目设置为新片段。我看过很多将共享元素从一个 Activity 动画化到另一个 Activity 的示例,但很少有将共享元素从一个 Fragment 动画化到同一 Activity 内的另一个 Fragment 的示例。它几乎可以工作。
这是我的结构。
活动
-- 带有 RecyclerView 的全屏 Fragment1
-- 带有细节的全屏 Fragment2
当用户在 Fragment1 的 RecyclerView 中选择一个项目时,我将 Fragment1 替换为 Fragment2,该 Fragment2 具有一个 View,其中的共享元素处于不同的位置和大小。
让它工作有一点技巧,你必须确保你的 transitionName 对于列表中的每个项目都是唯一的,当然,transitionName 必须与 Fragment2 中元素的 transitionName 匹配才能播放动画。我有这部分工作,当我选择一个项目时,2 个共享视图会进行动画处理,但这与您在 2 个活动之间执行它时所期望的不完全一样。
如果我选择屏幕底部附近的一个项目,它会为 Fragment2 绘制视图并为 2 个共享视图设置动画,就好像它们位于屏幕顶部的项目中一样。很难解释。这里有一些图片
片段1
片段2
在这两个片段中,我设置以下
同样在他们的 onCreate() 父 Activity 我已经设置
知道为什么我的共享元素动画从屏幕顶部开始,即使它们从屏幕底部的选定项目开始?
android - 如何在 Android Lollipop 中推迟 Fragment 的进入转换?
在 Android Lollipop 中,Activity#postponeEnterTransition()
和Activity#startPostponedEnterTransition()
方法使 Activity 能够延迟开始进入和退出共享元素转换,直到加载所有数据。这些非常适合Activity
过渡。
Fragment
有没有办法在使用过渡时达到相同的效果?
android - Android Fragment onCreateAnimator 输入始终为真
我在 HTC 渴望 4.0.3 上面临这个问题。动画总是进入,即使片段正在退出......这个问题在 4.4 或 5.0 上不存在
android - Lollipop 过渡 - 片段到活动
我想弄清楚如何在 Lollipop 中进行活动(或片段??)转换。我正在使用 AppCompat v7 - v21。
这是我的场景:
当单击 GridView(内部片段)中的一个项目时,我希望图像能够像此处的链接中那样进行转换。我如何实现它?有没有办法我可以使用样式来做到这一点?如果我通过代码来做,我可以有一个如何从片段到活动的示例吗?
[编辑]
这是我到目前为止所取得的成就:
样式.xml:值-v21
MainActivity 中的 onItemClick():
在详细活动中:
这给了我过渡,但是,过渡不像我预期的那样顺利。仍在努力。
我可以在棒棒糖之前的设备中获得这些转换吗?当我尝试在较低版本中运行代码时,例如 2.3.6,它崩溃并说,NoSuchMethodDef getEnterTransition()
. 这些转变只与棒棒糖有关吗?
android - 在共享元素片段转换方面需要帮助
我需要有关片段到片段转换的帮助。我不清楚如何正确地做到这一点,因为我能找到的文档很少。
我有一个带有电影海报的 GridView。当单击一张海报时,它将移动到下一个片段。海报是共享元素,它将调整大小(变大)并覆盖屏幕。其他元素将根据内容过渡淡化.这工作正常。
我无法获得重新进入过渡。按下后退按钮时,网格视图中的第一个元素将始终首先出现(它不跟随内容过渡(淡入淡出)),然后其他元素淡入。共享元素不会调整大小(变小)并加入其他元素。它与其他元素一起淡入,从而遵循内容转换样式。这是我的代码:
NowShowingFragment.java 包含带有图像的网格视图
在我的 OnCreateView-我使用 Picasso 从 web 加载图像。所以我首先从 Imageview 中提取位图并将其传递给 Activity,后者又将传递给下一个要显示的片段。(不知道这是否应该做完了)。
主要活动
在 NowShowingDetail - 这是将替换旧片段的新片段。它只会全屏显示共享元素。
change_image_transorm.xml
先感谢您。
编辑:使用相同的代码,我更改为活动转换方法。这完美无瑕。我认为我称之为片段转换的方式可能是错误的。您的意见表示赞赏。
android - 共享元素过渡适用于 FragmentTransaction.replace() 但不适用于 FragmentTransaction.add()
当我使用片段“替换”时,新的共享元素转换有效,但我似乎无法使其工作片段“添加”。在这两种情况下,我都使用相同的容器。
更多细节:
活动-布局->
在启动 Activity 时,我将 Fragment1 添加到屏幕
在 Fragment1 布局中的视图的单击事件中 -> 我将 Fragment2 添加到屏幕上。我在第一个 Fragment 的 onCreateView 中设置了监听器
}
我在两个片段的布局中都有这个图像视图
FragmentTransaction.add()
现在,如果我使用添加第二个片段,过渡不起作用,但如果我使用它,它会起作用FragmentTransaction.replace()
。我怎样才能使它与 add() 一起工作?有可能吗?
android - 使用 add() 而不是 replace() 的片段共享元素转换?
我正在尝试在片段之间进行共享元素转换,使用replace()
添加第二个片段时一切正常,但是在代码库add()
中使用了很多,但是使用它时,转换只是跳到结束值
是否可以在添加的片段之间进行过渡? 谢谢
android - 显示替换片段的过渡
我有一个默认加载 Fragment StatsDetailFragment 的活动。
按下按钮后,我将使用以下代码将片段替换为另一个片段。
我正在使用自定义转换类为 ProjectEntryListFragment 设置输入转换
过渡效果很好。但我面临的问题是,当在 ProjectEntryListFragment 上执行显示动画时,StatsDetailFragment 已经被删除,导致显示动画在空白背景上播放。我希望它在 StatsDetailFragment 上播放,以便在 ProjectListFragment 上播放显示转换时,StatsDetailFragment 可见。
我尝试只添加新片段,但这只是在弹出后台堆栈时给我一个错误。
任何帮助将不胜感激。
android - 在 Android 中转换片段
在 Android 中转换片段的最简单方法是什么?
我正在努力寻求单线解决方案。
我尝试了什么:
我添加了一个转换 xml 文件:
我正在使用以下代码来应用上述转换:
我知道上面的代码是完全错误的,但这是我想要实现的,将一个非常简单的过渡应用到屏幕上的片段......
android - 如何将片段推迟到片段转换,如活动转换(postponeEnterTransition
如何在 Android Lollipop 中推迟 Fragment 的进入转换?
我在片段转换中遇到了麻烦。(共享元素过渡等。)我想让屏幕方向的片段过渡也做得很好。
经过几天的麻烦,终于在上面的链接中找到了以下评论,但我不明白。
如果您不删除 fragment1,而是将其隐藏,它将使您的生活更轻松。如果没有,则需要一个额外的步骤,但它的工作方式相同。
- a) 添加 2,隐藏 2
- b)显示2,隐藏,添加到后堆栈1
- c) show 1, remove1, add to back stack。然后你检测到你第二次到达 (c),你等待 1 准备好然后以编程方式弹出回栈。
我不明白上面的场景。请逐步解释这一点。希望你的回答。
提前致谢。