overridePendingTransition的简介
1?Activity的切換動畫指的是從一個activity跳轉到另外一個activity時的動畫。
它包括兩個部分:
一部分是第一個activity退出時的動畫;
另外一部分時第二個activity進入時的動畫;
在Android的2.0版本之后,有了一個函數來幫我們實現這個動畫。這個函數就是overridePendingTransition
這個函數有兩個參數,一個參數是第一個activity進入時的動畫,另外一個參數則是第二個activity退出時的動畫。
這里需要特別說明的是,關于overridePendingTransition這個函數,有兩點需要主意
1.它必需緊挨著startActivity()或者finish()函數之后調用"
2.它只在android2.0以及以上版本上適用 ?
此鏈接幫助大家理解次方法:http://www.oschina.net/question/97118_34343
?
2??不過有時候overridePendingTransition 這個函數會不起作用,總結下,大概是以下三個方面的原因:
?1、android系統版本2.0以下,這個沒辦法,想其他辦法解決切換動畫吧。 ?2、在ActivityGroup等的嵌入式Activity中,這個比較容易解決,用如下方法就可以了: ? ? this.getParent().overridePendingTransition 就可以解決。 ?3、在一個Activity的內部類中,或者匿名類中,這時候只好用handler來解決了。 ?4、手機的顯示動畫效果被人為或者其他方式給關閉了 現在打開即可 設置->顯示->顯示動畫效果=============================================================================
實現兩個 Activity 切換時的動畫。在Activity中使用
有兩個參數:進入動畫和出去的動畫。
注意
1、必須在 StartActivity()? 或 finish() 之后立即調用。
2、而且在 2.1 以上版本有效
3、手機設置-顯示-動畫,要開啟狀態
//實現淡入淺出的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
// 由左向右滑入的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
// 實現zoommin 和 zoomout (自定義的動畫)
startActivity(new Intent(OverridePendingTransitionActivity.this,SecondActivity.class));
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
anim/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="@android:integer/config_mediumAnimTime"
??????? android:fromXScale="0.1"
??????? android:fromYScale="0.1"
??????? android:pivotX="50%p"
??????? android:pivotY="50%p"
??????? android:toXScale="1.0"
??????? android:toYScale="1.0" />
? <alpha
??????? android:duration="@android:integer/config_mediumAnimTime"
??????? android:fromAlpha="0"
??????? android:toAlpha="1.0" />
</set>
anim/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="@android:integer/config_mediumAnimTime"
??????? android:fromXScale="1.0"
??????? android:fromYScale="1.0"
??????? android:pivotX="50%p"
??????? android:pivotY="50%p"
??????? android:toXScale="0.1"
??????? android:toYScale="0.1" />
??? <alpha
??????? android:duration="@android:integer/config_mediumAnimTime"
??????? android:fromAlpha="1.0"
??????? android:toAlpha="0" />
</set>
總結
以上是生活随笔為你收集整理的overridePendingTransition的简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用JCrop进行图片裁剪,裁剪js说明
- 下一篇: [转]Maven如何手动添加jar包到本