android图片轮播效果,RollViewPager的简单使用

来源:互联网 发布:广州金针软件 编辑:程序博客网 时间:2024/05/19 17:04


主要支持的一些功能:

支持无限循环。 触摸时会暂停播放,直到结束触摸一个延迟周期以后继续播放。 看起来就像这样。指示器可以为点可以为数字还可以自定义,位置也可以变。

  主要操作过程:


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;    }}
这样一个轮播图就实现了
阅读全文
0 0