在 Android 中更改片段时如何使用 Material Design Transition?
How to used Material Design Transition when fragment changed in Android?
我喜欢这样的新 Transitions introduced with Android material design :
但是,我想在我的抽屉中选择一个项目后替换片段时使用它:
fragmentManager.beginTransaction().replace(R.id.container, fragment).commit();
这可能吗?使用与 EnterTransition
/ ExitTransition
和 Explode
过渡动画相同的逻辑。
这些转换适用于 activities,不适用于 fragments,参见 below from documentation 这些是为 指定的windowExitTransition & windowEnterTransition
<style name="BaseAppTheme" parent="android:Theme.Material">
<!-- enable window content transitions -->
<item name="android:windowContentTransitions">true</item>
<!-- specify enter and exit transitions -->
<item name="android:windowEnterTransition">@transition/explode</item>
<item name="android:windowExitTransition">@transition/explode</item>
<!-- specify shared element transitions -->
<item name="android:windowSharedElementEnterTransition">
@transition/change_image_transform</item>
<item name="android:windowSharedElementExitTransition">
@transition/change_image_transform</item>
</style>
您可以尝试对片段实现相同的效果,并在 fragmenttransanction.
中指定转换
我喜欢这样的新 Transitions introduced with Android material design :
但是,我想在我的抽屉中选择一个项目后替换片段时使用它:
fragmentManager.beginTransaction().replace(R.id.container, fragment).commit();
这可能吗?使用与 EnterTransition
/ ExitTransition
和 Explode
过渡动画相同的逻辑。
这些转换适用于 activities,不适用于 fragments,参见 below from documentation 这些是为 指定的windowExitTransition & windowEnterTransition
<style name="BaseAppTheme" parent="android:Theme.Material">
<!-- enable window content transitions -->
<item name="android:windowContentTransitions">true</item>
<!-- specify enter and exit transitions -->
<item name="android:windowEnterTransition">@transition/explode</item>
<item name="android:windowExitTransition">@transition/explode</item>
<!-- specify shared element transitions -->
<item name="android:windowSharedElementEnterTransition">
@transition/change_image_transform</item>
<item name="android:windowSharedElementExitTransition">
@transition/change_image_transform</item>
</style>
您可以尝试对片段实现相同的效果,并在 fragmenttransanction.
中指定转换