本例子是对ViewFlipper的练习,它是一种容器。通过填充图片,实现图片的自动循环播放的效果。
布局文件view_flipper_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/vf_viewflipper"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ViewFlipper>
</LinearLayout>
AtyViewFilpper.java文件:
package com.fxj.composit;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.ViewFlipper;
import com.fxj.compractice.R;
public class AtyViewFilpper extends Activity {
private ViewFlipper viewFlipper;
// 图片资源
private int[] resId = new int[] { R.drawable.jay01, R.drawable.jay02,
R.drawable.jay03, R.drawable.jay04, R.drawable.user1,
R.drawable.user2, R.drawable.user3, R.drawable.user4 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_flipper_layout);
viewFlipper = (ViewFlipper) findViewById(R.id.vf_viewflipper);
// 为ViewFlipper添加图片资源
for (int i = 0; i < resId.length; i++) {
viewFlipper.addView(getImageView(resId[i]));
}
// 为viewFlipper添加动画效果
viewFlipper.setInAnimation(this, R.anim.abc_fade_in);
viewFlipper.setOutAnimation(this, R.anim.abc_fade_out);
// 为viewFlipper设置切换时间
viewFlipper.setFlipInterval(3000);
// 开始播放
viewFlipper.startFlipping();
}
// 获得ImageView组件
public ImageView getImageView(int resId) {
ImageView imageView = new ImageView(this);
// imageView.setImageResource(resId);
imageView.setBackgroundResource(resId);
return imageView;
}
}
运行效果:
可以实现每隔3秒自动播放,不再截图展示。
结束。