片段API提供了两种使用运动效果和变换的方式,以在导航过程中直观地连接片段。其中之一是动画框架,它同时使用 Animation
和 Animator
。另一个是“过渡框架”,其中包括共享元素过渡。
您可以为进入和退出片段以及片段之间共享元素的过渡指定自定义效果。
一个输入效应确定的片段如何进入屏幕。例如,您可以创建一种效果,以在浏览到片段时从屏幕边缘将片段滑入。
一个出口效应确定的片段如何退出屏幕。例如,您可以创建一种效果,以使片段在离开片段时淡出。
甲共享元素的过渡确定如何被两个片段两者之间移动之间共享的图。例如,
ImageView
一旦B可见,显示在片段A中的图像就会转换为片段B。
设置动画
首先,您需要为进入和退出效果创建动画,这些动画将在导航到新片段时运行。您可以将动画定义为 补间动画资源。这些资源使您可以定义动画期间片段应如何旋转,拉伸,淡入淡出和移动。例如,您可能希望当前片段淡出,而新片段从屏幕的右边缘滑入,如图1所示。
这些动画可以在res/anim
目录中定义:
xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_shortAnimTime"android:interpolator="@android:anim/decelerate_interpolator"android:fromAlpha="1"android:toAlpha="0" />
xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_shortAnimTime"android:interpolator="@android:anim/decelerate_interpolator"android:fromXDelta="100%"android:toXDelta="0%" />
注意: 强烈建议对涉及多种动画类型的效果使用过渡效果,因为使用嵌套
AnimationSet
实例存在一些已知问题 。
您还可以为弹出后堆栈时运行的进入和退出效果指定动画,这可以在用户点击“向上”或“返回”按钮时发生。这些称为popEnter
和popExit
动画。例如,当用户跳回到上一个屏幕时,您可能希望当前片段滑出屏幕的右边缘,而前一个片段会淡入。
popEnter
和
popExit
动画。当前片段从屏幕上向右滑动,而前一个片段淡入。
这些动画可以定义