前幾天下載了一個軟體,activity之間跳轉是用的淡齣動畫效果,今天有時間自己也從網上查了一下資料,實現了一下。
下面通過一個例子來學習下。
首先在res/anim 下 聲明兩個動畫效果
fade.xml
<?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_longAnimTime" />
hold.xml
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromXDelta="0" android:toXDelta="0" android:duration="@android:integer/config_longAnimTime" />
接下來在activity跳轉的時候加上overridePendingTransition方法:
refresh=(TextView) this.findViewById(R.id.refresh); refresh.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent(PathButtonActivity.this,MainActivity.class);startActivity(intent);//第一個參數為啟動時動畫效果,第二個參數為退出時動畫效果overridePendingTransition(R.anim.fade, R.anim.hold);}});
其實我們也可以使用官方給我們提供的動畫效果:
實現淡入淡出的效果
overridePendingTransition(Android.R.anim.fade_in,android.R.anim.fade_out);
overridePendingTransition(Android.R.anim.fade_in,android.R.anim.fade_out);
由左向右滑入的效果
overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);
overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);
由於這個比較簡單 所以就不做過多介紹了。雖然這節比較簡單,但是效果確實很不錯的,大家也可以自訂自己喜歡的效果,下面看一下在我手機啟動並執行效果:
由於跳轉的太快 ,無法看到效果,還是大家 自己運行下 體驗吧! 注意 是點擊Tap to Refresh 這個控制項,我是綁定的這個控制項 ,點擊後 進入:
大家自行體驗吧!由於上一節超炫button按鈕動畫效果體驗效果比較好,有很多朋友問我要源碼,其實基本代碼我已寫到了部落格裡,大家可以跟著慢慢實現下,這樣效果比較好,最後我附上這一節和上一節的源碼,在一個項目裡,大家自己體驗吧!源碼。