本文執行個體講述了Android開發之ViewFlipper自動播放圖檔功能實作方法。分享給大家供大家參考,具體如下:
簡介:
1.ViewFlipper繼承了ViewAnimator 可以調用addView()添加元件
2.ViewAnimator與AdapterViewFlipper類似,差別在于 : AdapterViewFlipper可以通過Adapter直接添加多個view,而ViewAnimator 需要通過調用addView()方法添加View
效果呈現:
有此執行個體可以看出 ViewFlipper 再制作輪播圖等 圖檔自動播放器上 有很大優勢
這裡給出布局檔案:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
android:id="@+id/details"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:flipInterval="1000">
android:id="@+id/seaside"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/a1"/>
android:id="@+id/mountain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/a2"/>
android:id="@+id/sky"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/a3"/>
android:onClick="prev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"/>
android:onClick="auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:text="自動播放"/>
android:onClick="next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"/>
提示:flipInterval屬性制定了自動播放圖檔的時間間隔
這裡為了簡便 采用再布局中直接添加ImageView 而不是通過Add方法動态添加的手段
這裡給出 具體功能的實作:
public class MainActivity extends Activity {
private ViewFlipper viewFlipper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewFlipper = (ViewFlipper) findViewById(R.id.details);
}
public void prev(View source){
viewFlipper.setInAnimation(this,android.R.anim.slide_in_left);
viewFlipper.setOutAnimation(this,android.R.anim.slide_out_right);
//顯示下一個
viewFlipper.showPrevious();
//停止自動播放
viewFlipper.stopFlipping();
}
public void next(View source){
viewFlipper.setInAnimation(this,android.R.anim.slide_in_left);
viewFlipper.setOutAnimation(this,android.R.anim.slide_out_right);
//顯示下一個
viewFlipper.showNext();
//停止自動播放
viewFlipper.stopFlipping();
}
public void auto(View source){
viewFlipper.setInAnimation(this,android.R.anim.slide_in_left);
viewFlipper.setOutAnimation(this,android.R.anim.slide_out_right);
//停止自動播放
viewFlipper.startFlipping();
}
}
希望本文所述對大家Android程式設計有所幫助。