现在的位置: 首页 > 综合 > 正文

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

2018年09月04日 ⁄ 综合 ⁄ 共 1305字 ⁄ 字号 评论关闭
文章目录

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

在此提供一种切换方案。

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

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:duration="1000"
        android:fromXScale="2.0"
        android:fromYScale="2.0"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:toXScale="1.0"
        android:toYScale="1.0" />

</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:zAdjustment="top" >

    <scale
        android:duration="1000"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:toXScale=".5"
        android:toYScale=".5" />

    <alpha
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromAlpha="1.0"
        android:toAlpha="0" />

</set>

应用

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

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

例如:

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

抱歉!评论已关闭.