Android activity动画调用方式

 

问题场景: 如何实现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).

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


  

posted on 2015-09-06 14:07  liauau  阅读(183)  评论(0)    收藏  举报

导航