首页 > 技术文章 > Activity平移动画

sesexxoo 2015-12-16 19:37 原文

Activity平移动画

  • 效果图

这里写图片描述

添加动画文件

在res下添加anim文件夹,在anim下添加几个动画文件,分别是进入和退出的动画时间和移动距离,属性很简单,一看就懂,不磨叽了。

这里写图片描述

  • tran_next_enter.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="100%p"
    android:toXDelta="0">
</translate>
  • tran_next_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0"
    android:toXDelta="-100%p">
</translate>
  • tran_pre_enter.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="-100%p"
    android:toXDelta="0">
</translate>
  • tran_pre_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0"
    android:toXDelta="100%p">
</translate>

使用

在startActivity后添加动画,类似下面这样

// 点击进入上一个块详情页
Intent previousBlockIntent = new Intent(this, BlockInfoActivity.class);
……
startActivity(previousBlockIntent);
overridePendingTransition(R.anim.tran_pre_enter, R.anim.tran_pre_exit);

or

// 点击进入下一个块详情页
Intent nextBlockIntent = new Intent(this, BlockInfoActivity.class);
……
startActivity(nextBlockIntent);
overridePendingTransition(R.anim.tran_next_enter, R.anim.tran_next_exit);

推荐阅读