当一个Activity中有多个Fragment时往往需要Fragment添加动画
- 添加 默认动画效果
只需要在添加Fragment或者进行Fragment动作变化时为FragmentTransaction对象添加setTransaction()
方法,SDK自带动画效果有:
FragmentTransaction.TRANSIT_FRAGMENT_OPEN
、TRANSIT_FRAGMENT_CLOSE
、TRANSIT_FRAGMENT_FADE
等等
自带动画
- 添加
自定义动画
以下这种方式只适用于兼容包下的fragment添加动画(也就是v4包下的fragmetn),app包下的Fragment只适用于api>=11(android3.0)及其以上,为兼容3.0以下设备,所以就新增了兼容库
supportFragmentManager.beginTransaction().setCustomAnimations(R.anim.fragment_enter_in,
R.anim.fragment_enter_out).replace(R.id.fragment_container,
FragmentOne()).addToBackStack(null).commit()
进入动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="100%p"
android:interpolator="@android:anim/decelerate_interpolator"
android:toXDelta="0" />
</set>
网友评论