您的位置:首页 > 移动开发 > Android开发

Android activity动画调用方式

2015-09-06 14:07 471 查看
问题场景: 如何实现Activity从左下角进入, 然后按其中某个button, 退出到左下角?

1. 调用动画的方式.

有2种方式. 一是在xml文件里指定activity的theme, 二是在startActivity和finish函数之后调用 overridePendingTransition(int enterAnim, int exitAnim);

由于我的代码里activity的theme已经指定, 因此选取了第二种方式

2. 动画.

使用了两种动画,指定左下角的关键代码是android:pivotX=15%, android:pivotY=95%.

代码如下:

activity进入动画

<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="300"
android:fromAlpha="0"
android:toAlpha="1.0" />

<scale
android:duration="300"
android:fromXScale="0"
android:fromYScale="0"
android:pivotX="15%"
android:pivotY="95%"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>


activity退出动画

<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="0" />

<scale
android:duration="300"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="15%"
android:pivotY="95%"
android:toXScale="0"
android:toYScale="0" />
</set>


3. 注意点

在startActivity之后调用了 overridePendingTransition(int enterAnim, int exitAnim), 发现退出时没有动画效果. 解决方法是在finish函数之后也调用 overridePendingTransition(int enterAnim, int exitAnim).

重复调用两次,感觉像是分别指定了进入动画和退出动画.

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: