overridePendingTransition (int enterAnim, int exitAnim)实现activity的放大动画

该函数被调用必须紧跟startActivity(Intent) 或 finish() 来指定显式的过渡动画执行下一步的味道之一后立即调用。

作为 JELLY_BEAN 的起始活动使用这种替代方法是供应所需的动画信息通过 ActivityOptions 捆绑到 {@link #startActivity (意图、 束) 或相关的函数。这允许您指定一个自定义的动画,甚至当开始从当前顶级活动范围外的活动。

参数
enterAnim A 资源 ID 的动画资源用于传入活动。使用 0 表示没有动画。
exitAnim A 资源 ID 的动画资源用于传出的活动。使用 0 表示没有动画。

startActivity(new Intent(MainActivity.this,ShowActivity.class));  
overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);  

scale定义窗口的放大动画,pivotX和pivotY指定缩放的起始位置
zoom_enter.xml:

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android"  
        android:interpolator="@android:anim/decelerate_interpolator">  
    <scale android:fromXScale="2.0" android:toXScale="1.0"  
           android:fromYScale="2.0" android:toYScale="1.0"  
           android:pivotX="50%p" android:pivotY="50%p"  
           android:duration="@android:integer/config_mediumAnimTime" />  
</set>  

zoom_exit.xml:

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android"  
        android:interpolator="@android:anim/decelerate_interpolator"  
        android:zAdjustment="top">  
    <scale android:fromXScale="1.0" android:toXScale=".5"  
           android:fromYScale="1.0" android:toYScale=".5"  
           android:pivotX="50%p" android:pivotY="50%p"  
           android:duration="@android:integer/config_mediumAnimTime" />  
    <alpha android:fromAlpha="1.0" android:toAlpha="0"  
            android:duration="@android:integer/config_mediumAnimTime"/>   
</set>  

猜你喜欢

转载自blog.csdn.net/zhongliangtang/article/details/52772415
int
今日推荐