主要支持的一些功能:
支持无限循环。 触摸时会暂停播放,直到结束触摸一个延迟周期以后继续播放。 看起来就像这样。指示器可以为点可以为数字还可以自定义,位置也可以变。
主要操作过程:
1.效果:
2.首先用RollPagerView需要添加依赖:
compile 'com.jude:rollviewpager:1.2.9'
3.在布局文件里使用
<com.jude.rollviewpager.RollPagerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="200dp" app:rollviewpager_play_delay="3000" />4.在代码中初始化并且使用
public class MainActivity extends AppCompatActivity { private RollPagerView rollPagerView; private int[] imgs = { R.mipmap.qq, R.mipmap.timg, R.mipmap.timga, R.mipmap.ww}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rollPagerView = (RollPagerView) findViewById(R.id.rv); rollPagerView.setPlayDelay(2000); //间隔2秒轮播一次 rollPagerView.setAnimationDurtion(0); //透明度 rollPagerView.setAdapter(new TestNormalAdapter());//设置Adapter //rollPagerView.setHintView(new IconHintView(this,R.mipmap.yuan1,R.mipmap.yuan2));//自定义圆点图片 用图片现实的圆点 // rollPagerView.setHintView(new ColorPointHintView(this, Color.YELLOW,Color.WHITE));//自定义圆点颜色 用颜色显示的图片 // rollPagerView.setHintView(new TextHintView(this)); //显示数字 用数字代表圆点显示 // rollPagerView.setHintView(null); //不显示指示器 //如果不设置指示器会有一个默认的指示器 }
设置一个它专门的Adapter
class TestNormalAdapter extends StaticPagerAdapter { @Override public View getView(ViewGroup container, int position) { //创建一个ImageView ImageView imageView = new ImageView(container.getContext()); //把图片给ImaneView imageView.setImageResource(imgs[position]); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); //图片的高,宽铺满布局 imageView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); return imageView; } @Override public int getCount() { return imgs.length; } } }这样一个轮播图就实现了