android窗體動畫:activity啟動從底部向上滑動出現,關閉的時候從頂部向下滑動消失的動畫實現

jopen 11年前發布 | 40K 次閱讀 Android開發 移動開發 Android
在IOS系統里,我們打開app都是有啟動動畫的,這樣子在打開一個新窗體,用戶感覺有個過渡動畫,體驗效果很好,不會覺得很突然就冒出一個窗體,下面就實現一個android 的activity啟動和關閉動畫的例子。

知識點:
1、需要配置2個動畫XML,一個是啟動動畫,一個是結束動畫。
2、啟動調用動畫的時機和關閉調用動畫的時機。

知識點1:
需要在anim下添加兩個動畫文件:
啟動動畫(activity_open.xml):
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
       <translate
        android:fromYDelta="100%p"
        android:toYDelta="0"
    android:duration="1500"
      />
    </set>


    結束動畫(activity_close.xml):

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
       <translate
        android:fromYDelta="25"
        android:toYDelta="100%p"
        android:duration="1500"
       />
    </set>

    知識點2:

    設置啟動動畫:
    Intent intent = new Intent();
     intent.setClassName(cxt,"com.test.mrn.android.route.RouteDemoActivity");//打開一個activity
     cxt.startActivity(intent);
    
     cxt.overridePendingTransition(R.anim.activity_open,0);


    設置關閉動畫:
     @Override
        public void finish() {
            // TODO Auto-generated method stub
            super.finish();
            //關閉窗體動畫顯示
            this.overridePendingTransition(R.anim.bottom_end,0);
        }

    補充知識點:
    不需要狀態出現時需要設置activity狀態欄透明,在androidmanifest.xml里配置
       android:theme="@android:style/Theme.Translucent"
     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!