1. 程式人生 > >Android迴圈滾動控制元件——ViewFlipper的使用

Android迴圈滾動控制元件——ViewFlipper的使用

  假設現在讓你實現一個垂直迴圈滾動的效果,你的第一反應是什麼?如果是立馬想找第三方或者想著自定義(嘿!真不嫌麻煩),那麼你對ViewFlipper是陌生的,說明這篇部落格對你是有價值的。請往下看:

  ViewFlipper是Android中的基礎控制元件,可能在一般開發中很少有人用到,所以很多開發者感覺對這個控制元件很陌生,在控制元件圈裡更遠遠沒有ViewPager出名,但是ViewFlipper用法很簡單,效果卻很不錯。先貼出效果圖:

      

一、ViewFlipper佈局:

 <ViewFlipper
           android:id="@+id/filpper"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:autoStart="true"
           android:flipInterval="2000"
           android:inAnimation="@anim/anim_come_in"
           android:outAnimation="@anim/anim_get_out"/>

進入動畫anim_come_in:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromYDelta="100%p"
        android:toYDelta="0"
        android:duration="1000"/>
</set>
滑出動畫anim_get_out:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromYDelta="0"
        android:toYDelta="-100%p"
        android:duration="1000"/>
</set>
二、ViewFlipper載入的介面佈局

  建立一個layout_custom,然後根據需求自定義一個介面佈局即可,就不細說了。

三、為ViewFllipper載入自定義介面

ViewFlipper viewFlipper= (ViewFlipper) findViewById(R.id.vf);
for (int i = 0; i < 5; i++) {
	View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.layout_custom, null);
        viewFlipper.addView(view);
}
注:以上只是迴圈為ViewFlipper載入5條資料的方法,並不是Demo中程式碼。

四、ViewFlipper使用介紹

在xml佈局中的方法介紹:

android:autoStart:   設定自動載入下一個View

android:flipInterval:設定View之間切換的時間間隔

android:inAnimation: 設定切換View的進入動畫

android:outAnimation:設定切換View的退出動畫

當然同樣的在程式碼中也可以設定:

isFlipping:     判斷View切換是否正在進行

setFilpInterval:設定View之間切換的時間間隔

startFlipping:  開始View的切換,而且會迴圈進行

stopFlipping:   停止View的切換

setOutAnimation:設定切換View的退出動畫

setInAnimation: 設定切換View的進入動畫

showNext:       顯示ViewFlipper裡的下一個View

showPrevious:   顯示ViewFlipper裡的上一個View