Android中幾個Activity實現平移效果
阿新 • • 發佈:2019-01-08
問題描述:現假設有4個activity,每個actvity介面的底部都有兩個按鈕,一個是回到前一頁,一個是到下一頁。頁面跳轉的邏輯相對比較簡單,下面來談一下如何給這4個Activity加上平移效果。
問題分析:
步驟:
1.在應用程式——>res目錄下新建anim資料夾,用於存放我們需要的實現平移效果的xml檔案,注意資料夾名字不能寫錯。在anim資料夾下新建pre_in_anim.xml
pre_out_anim.xml,用於實現將上一頁的內容移動至螢幕中的動畫效果;在anim資料夾下新建next_in_anim.xml,next_out_anim.xml,用於實現將下一頁的內容移動至螢幕中的動畫效果。
2.pre_in_anim.xml檔案中內容為:
<?xml version="1.0" encoding="utf-8"?>
<!---100%p負的一螢幕的大小值-->
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%p"
android:toXDelta="0"
android:duration="500">
</translate>
pre_out_anim.xml檔案中內容為:
next_in_anim.xml檔案中內容為:<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0" android:toXDelta="100%p" android:duration="500"> </translate>
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="500">
</translate>
next_out_anim.xml檔案中內容為:
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0" android:toXDelta="-100%p" android:duration="500"> </translate>
3.在開啟上一個活動的程式碼中新增以下程式碼:
Intent intent = new Intent(this, Setup1Activity.class); startActivity(intent); finish(); overridePendingTransition(R.anim.pre_in_anim, R.anim.pre_out_anim);
在開啟下一個活動的程式碼中新增以下程式碼:
Intent intent = new Intent(this, Setup3Activity.class);
startActivity(intent);
finish();
overridePendingTransition(R.anim.next_in_anim, R.anim.next_out_anim);
4.執行應用,點選按鈕即可實現活動平移的效果。