前言
其实,ViewPager+Fragment也可以实现图片轮播,但是这次我主要用了Filpper来实现。
布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ViewFlipper
android:id="@+id/viewflipper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
></ViewFlipper>
</LinearLayout>
动态添加图片
实际应用中,应该根据获得的图片张数,来生成对应个数的View存放图片,我这里就简单使用资源文件中的图片了。
flipper = (ViewFlipper) findViewById(R.id.viewflipper);
// 生成4个imageView存放图片
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.ic_launcher);
flipper.addView(imageView);
ImageView imageView1 = new ImageView(this); imageView1.setImageResource(R.drawable.loading);
flipper.addView(imageView1);
ImageView imageView2 = new ImageView(this);
imageView2.setImageResource(R.drawable.point_false);
flipper.addView(imageView2);
ImageView imageView3 = new ImageView(this);
imageView3.setImageResource(R.drawable.point_true);
flipper.addView(imageView3);
// 进入动画
flipper.setInAnimation(this, R.anim.right_in);
// 退场动画
flipper.setOutAnimation(this, R.anim.left_out);
// 时间间隔
flipper.setFlipInterval(3000);
flipper.setAutoStart(true);
// 开始轮播
flipper.startFlipping();
另外常用的方法:
flipper.showPrevious(); 上一个页面
flipper.showNext(); 下一个页面
flipper.stopFlipping(); 停止轮播