【Android】Animation之改变自带的Activity切屏效果

若是感觉自带的Activity切换效果过于单一,我们可以通过Animation改变默认的切换效果。

在此提供一种切换方案。

在res目录下新建anim文件夹,用于存放Animation的XML文件。

zoomin.xml文件

 

[html][/html] view plaincopy

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <set xmlns:android=”http://schemas.android.com/apk/res/android”
  3.     android:interpolator=”@android:anim/decelerate_interpolator” >
  4.     <scale
  5.         android:duration=”1000″
  6.         android:fromXScale=”2.0″
  7.         android:fromYScale=”2.0″
  8.         android:pivotX=”50%p”
  9.         android:pivotY=”50%p”
  10.         android:toXScale=”1.0″
  11.         android:toYScale=”1.0″ />
  12. </set>

 

zoomout.xml文件

 

 

[html][/html] view plaincopy

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <set xmlns:android=”http://schemas.android.com/apk/res/android”
  3.     android:interpolator=”@android:anim/decelerate_interpolator”
  4.     android:zAdjustment=”top” >
  5.     <scale
  6.         android:duration=”1000″
  7.         android:fromXScale=”1.0″
  8.         android:fromYScale=”1.0″
  9.         android:pivotX=”50%p”
  10.         android:pivotY=”50%p”
  11.         android:toXScale=”.5″
  12.         android:toYScale=”.5″ />
  13.     <alpha
  14.         android:duration=”@android:integer/config_mediumAnimTime”
  15.         android:fromAlpha=”1.0″
  16.         android:toAlpha=”0″ />
  17. </set>

 

应用

 

在原先的切屏代码后面加上(该动画的显示对SDK的版本有一定的要求):

 

[java][/java] view plaincopy

  1. int version = Integer.valueOf(android.os.Build.VERSION.SDK);
  2. if(version >= 5) {
  3.  overridePendingTransition(R.anim.zoomin, R.anim.zoomout);

例如:

 

 

[java][/java] view plaincopy

  1. Intent intent2 = new Intent();
  2. intent2.setClass(MyQQActivity.this,Tabs.class );
  3. startActivity(intent2);
  4.  int version = Integer.valueOf(android.os.Build.VERSION.SDK);
  5.  if(version >= 5) {
  6.      overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
  7. }

标签