實現步驟, 如下 :
檔案結構 :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLFl9CMsHmUPXvPAyYFPez3yFbQZswfKN7FTatZUAbIutmc2lq2vY4hufFdxxUAffZEOUkPv9EuIMxdMH3Xc6IJhFtGwf5KxlVESr15-O7pr18Zc84sKCkIv0DRFj17zaT7L4Bi8jQgYYo/s400/anim00.jpg)
main.xml :
檔案內容
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ImageView
android:id="@+id/widget10"
android:layout_width="300px"
android:layout_height="400px"
android:layout_x="5px"
android:layout_y="5px"
android:src="@drawable/a2"
/>
<ViewFlipper
android:id="@+id/viewFlipperWidget"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:flipInterval="5000"
>
<ImageView
android:id="@+id/imgWidget"
android:layout_width="75px"
android:layout_height="70px"
android:layout_x="24px"
android:layout_y="38px"
android:src="@drawable/icon"
/>
<TextView
android:id="@+id/textWidget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_x="24px"
android:layout_y="38px"
android:text="Hello, Tom"
/>
</ViewFlipper>
</AbsoluteLayout>
tom_anim.xml :
檔案內容
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Y 軸從 238 移動到 38, 歷時 1000 毫秒 -->
<translate android:fromYDelta="238"
android:toYDelta="38"
android:duration="1000" />
<!-- 從 透明 到 不透明, 歷時 1000 毫秒 -->
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="1000" />
</set>
tom_anim_out.xml :
檔案內容
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Y 軸從 38 移動到 238, 歷時 1000 毫秒 -->
<translate android:fromYDelta="38"
android:toYDelta="238"
android:duration="1000" />
<!-- 從 不透明 到 透明, 歷時 1000 毫秒 -->
<alpha android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="1000" />
</set>
Java 部分程式碼 :
程式碼
public class helloWorld extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 要使用 findViewById, 一定要使用 layout / *.xml 做為使用者介面
setContentView( R.layout.main );
// 取得 UI 介面中的 View 物件
// 取得 View 物件後,再透過轉換成實際的物件
ViewFlipper vf = (ViewFlipper)this.findViewById(R.id.viewFlipperWidget);
// 設定 ViewFlipper 的進出動畫配置
vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.tom_anim));
vf.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.tom_anim_out));
// 動畫開始
vf.startFlipping();
}
}
範例結果 :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH-h62gtA_baChRNtlaZ9wmhIuneQxWWwDw8X7KrxKLVcxOeDj-G74LLhfuaJw13DVCcGcIeyAIDtQF9yUOlbP44poJA1B92eZC_62bS1IDHMA6vAbZgZEqqGmDX6PubHBFKHe1XnjAbO7/s400/anim01.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOfREhBaws2cCP5Qwm8XvbRdgIqCq5NuqgrG0eKzRD4aVmp86e_dngtYGyZja986w_CRZV12G3KiysAUtHJKNe5aV3tiZb6FPUlwC33r37dh4KAOd9SSa0dg1myGLGMOgaKOEOpdPSfjB-/s400/anim02.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhluxuGCuvp7lkxYKtG7_i3eL1AXz6ygCeGe2s2-sLIKsDFDelDAJuJao4FL9THHgcJp0hgiICw44qRBVWgjwL9kKKvIK7LfLcX3TxWjuU28aeZxhVW5NMWYfMJfEQ7XwhTvxQEG6f_1ufi/s400/anim03.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzXkOW5PY0ar4Yq6PSvjxunbrS5LDpEDucxeh-bfC3VHVf2GV5DrSqiJGW6-VEN_FXvEH1Ym1LX_F-NIZVXlOZaUigC8Qjnm3-gG1HWD83z29iMoqYjaygb1YUT1s4F2aUbKIRpGkMy_Lp/s400/anim04.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9HjVVNly-FlO41PY1Lgk-tiN4LLl-lajEmUfS8NpYtyzxf4uVb03eXok4bmpGYkOuYS4n94n_3lfQ2wfPkxGMaijtN7qzh99SxJY77bx0VgT5kan5AO40BL-6bhh3jyESz2zmxsQTzCRy/s400/anim05.jpg)