Activity有默认的切换效果,但是这个效果我们也可以自定义,主要用到overridePendingTransition(int enterAnim,int exitAnim)这个方法,这个方法必须在startActivity(Intent)之前和finish()之后调用才能生效,参数见名知意,指定Activity打开时和暂停时的动画。
例子启动一个Activity时:
startActivity(new Intent(this,BActivity.class))
overridePendingTransition(R.anim.myanim, R.anim.myanim)
当一个Activity不可见时:
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.myanim, R.anim.myanim);
}
另附上Fragment的切换效果,在res内新建文件夹animator新建文件slid_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<objectAnimator
android:duration="1000"
android:propertyName="x"
android:valueFrom="1000"
android:valueTo="0"
android:valueType="floatType" />
</set>
在开始Fragment事务后,操作fragment之前调用setsetCustomAnimations(in,out):
FragmentTransaction transaction = fm.beginTransaction()
transaction.setCustomAnimations(R.animator.slid_in, R.animator.slid_in)
transaction.replace(R.id.b_content, b)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)