Android Frame 设置过场动画
我们可以调用 FragmentTransaction 对象的 setTransition(int transit) 为 Fragment 指定标准的过场动画,transit 的可选值如下:
值 | 说明 |
---|---|
TRANSIT_NONE | 无动画 |
TRANSIT_FRAGMENT_OPEN | 打开形式的动画 |
TRANSIT_FRAGMENT_CLOSE | 关闭形式的动画 |
注意: 一定要注意 Fragment 是使用的 v4包 还是 app 包 下的 Fragment
上面的标准过程动画是两个都可以调用的,而不同的地方则在于自定义转场动画
setCustomAnimations()
-
app 包下的 Fragment
setCustomAnimations(int enter, int exit, int popEnter, int popExit)
分别是添加,移除,入栈,以及出栈时的动画
对应的动画类型是:属性动画(Property),就是动画文件的根标签要是
<objectAnimator> <valueAnimator> <set>
-
v4包下的 Fragment
v4包下的则支持两种 setCustomAnimations()
public abstract FragmentTransaction setCustomAnimation(@AnimRes int enter,@AnimRes int exit ) public abstract FragmentTransaction setCustomAnimation(@AnimRes int enter,@AnimRes int exit, @AnimRes int popEnter, @AnimRes int PopExit) 对应的动画类型是:补间动画(Tween)
onCreateAnimator()
android.support.v4.app
包
public Animation onCreateAnimator(int transit, boolean enter, int nextAnim)
android.app
包
public Animator onCreateAnimator(int transit, boolean enter, int nextAnim)