我正在尝试将动画添加到我的Android应用程序中,并且对活动之间的过渡动画以及片段有很多了解。所以我有一些视图(图像) MainActivity ,而 SecondActivity 本身是空的,但包含片段,然后需要使用这些片段来显示有关此图像的一些详细信息。我读过关于postponeentertransition()
的文章,但它确实奏效了。但问题是,第二个活动中的这个片段有链接(或转换)到同一种片段。
让我们说在主要活动中我有一组汽车图像,然后我点击一个,第二个活动开始并等待片段加载,然后显示动画。然后,在这个片段中,我有“类似的汽车”回收商,并选择其中一个,并希望以相同的方式显示其细节,但将此片段添加到后台堆栈(不替换)。所以问题是主要活动中的视图的转换名称和片段的大图像是相同的(这是显而易见的),片段的回收器中的转换名称和下一个片段的大图像也必须相同(否则app不会不知道如何制作动画。另一方面,片段(已添加)必须是同一个类,但它的实例不同。
我只想在不破坏现有架构的情况下设置动画。:)如果您有任何解决方案或建议如何在一个片段的不同实例之间制作动画,请提供帮助。)
答案 0 :(得分:0)
在Fragment事务中使用setCustomAnimations
(见下文)。如果实例来自同一个类,则无关紧要。
FragmentTransaction transaction = mActivity.getSupportFragmentManager().beginTransaction();
// To animate the fragment
// NOTE: Must be before replace/add otherwise it doesn't work
transaction
.setCustomAnimations(enter, exit, popEnter, popExit)
.replace(R.id.frame_container, fragment, null)
.commit();