gpt4 book ai didi

android - 如何用 fragment 进行内容过渡?

转载 作者:行者123 更新时间:2023-12-02 14:08:54 24 4
gpt4 key购买 nike

从 fragment A 到 B 的事务处理后,我希望 fragment B 的某些特定 View 从 X 点移动到 Y 点。这应该可以使用内容转换来实现:Frament.setEnterTransition(Object transition) 。我不明白应该向 setEnterTransition(Object Transition) 传递什么,以便告诉 B 的特定 View 以特定方式进行动画处理。

网上可以找到很多,但主要是指共享元素转换,我找不到任何有关内容转换的帮助。

最佳答案

假设您将此作为 fragment 的布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="@android:color/white"
android:layout_height="match_parent">

<View
android:id="@+id/shared_view"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center_vertical|right"
android:background="#812432"/>

<View
android:id="@+id/non_shared_view"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="80dp"
android:layout_gravity="center_vertical|right"
android:background="#fff53f"/>

</FrameLayout>

您从第一个 fragment 执行此操作,从而启动第二个 fragment 的打开:

Slide slide = new Slide(Gravity.LEFT);
TransitionSet set = new TransitionSet();
set.addTransition(slide);
set.addTarget(R.id.shared_view);
Fragment secondFragment = new SecondFragment();
secondFragment.setEnterTransition(set);
getActivity().getSupportFragmentManager().beginTransaction()
.add(R.id.contentPanel, secondFragment)
.addToBackStack(null)
.commit();

您会看到,shared_view 将从左侧滑动到其初始位置,而 non_shared_view 将保留在其位置。

enter image description here

Source code .

关于android - 如何用 fragment 进行内容过渡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43067231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com