Android通過Animation改變自帶的Activity切屏效果

jopen 11年前發布 | 30K 次閱讀 Android Android開發 移動開發

若是感覺自帶的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);   
    }   

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!