Activity切换动画

2016-12-25  本文已影响227人  灰灰手记

整理旧笔记


1、overridePendingTransition(args1, args2)

它需要两个参数,args1 前一个 Activity 的退出效果,args2 是后一个 Activity 的进入效果。 使用方法:

Intent intent = new Intent(this, clzTo);
this.startActivity(intent);
this.finish();

overridePendingTransition(R.anim.fade_in, R.anim.fade_out);   

2、setWindowAnimations(args)

这可也可以,但没有上一个好。使用方法:

getWindow().setWindowAnimations(R.style.PopupAnimation);

几种常用的切换效果

1、淡入淡出

overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

2、由左向右滑入

overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);

3、zoomin 和 zoomout

即类似 iphone 的进入和退出时的效果。

新建 zoomin.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>

新建 zoomout.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:adjustment="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>

Java调用:

overridePendingTransition(R.anim.zoomin, R.anim.zoomout);   
上一篇下一篇

猜你喜欢

热点阅读