android activity切换动画
今天,實在沒有什么可以寫的內容,在網上找了好久,才決定寫今天的內容。自己還是想保持每天寫博客的習慣。
在Android開發過程中,經常會碰到Activity之間的切換效果的問題,下面介紹一下如何實現左右滑動的切換效果,首先了解一下Activity切換的實現,從Android2.0開始在Activity增加了一個方法:
public void overridePendingTransition (int enterAnim, int exitAnim)
其中:
enterAnim 定義Activity進入屏幕時的動畫
exitAnim 定義Activity退出屏幕時的動畫
overridePendingTransition 方法必須在startActivity()或者 finish()方法的后面。
Android已經內置了幾種動畫效果,可以見 android.R.anim 類。一般情況下我們需要自己定義屏幕切換的效果。首先我們先了解Activity的位置定義,如下圖:
從上圖可以看出,以手機屏幕下面邊未X軸,屏幕左邊為Y軸,當Activity在X軸值為-100%p時,剛好在屏幕的左邊(位置1),當X軸值為0%p時,剛好再屏幕內(位置2),當X=100%p時剛好在屏幕右邊(位置3)。
清楚了位置后,我們就可以實現左右滑動滑動的切換效果,首先讓要退出的Activity從位置2移動到位置1,同時讓進入的Activity從位置3移動位置2,這樣就能實現從左右切換效果。
首先定義2個動畫,在 res目錄創建anim目錄, 然后在目錄創建動畫的xml文件:push_left_out.xml (從左邊退出動畫) 、push_right_in.xml(從右邊進入動畫)
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="-100%p"android:duration="500" /> </set><?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
?<translate android:fromXDelta="100%p" android:toXDelta="0"
??android:duration="500" />
</set>
然后直接使用
Intent?intent?=?new?Intent(getApplicationContext(),?OtherActivity.class);??
?startActivity(intent);?????????????????????????
??overridePendingTransition(R.anim.push_right_in,???R.anim.push_left_out);??
這樣就可以了。
或者this.finish();?
??overridePendingTransition(R.anim.back_left_in,?R.anim.back_right_out);
其實這些大部分時從網上找的的資料,大家有興趣可以自己去找找資料。
android activity切換動畫就講完了。
就這么簡單。
總結
以上是生活随笔為你收集整理的android activity切换动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 判断网络是否可用
- 下一篇: android 查找字符在字符串的位置