1. 程式人生 > >Android中幾個Activity實現平移效果

Android中幾個Activity實現平移效果

問題描述:現假設有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檔案中內容為:
<?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>
          next_in_anim.xml檔案中內容為:
<?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.執行應用,點選按鈕即可實現活動平移的效果。