android自定义 图片轮播组件

来源:互联网 发布:域名注册通 吾爱破解 编辑:程序博客网 时间:2024/06/18 13:09

说明: 图片轮播主类

MyBannerCirclePlayerDemo项目git地址

作者: 张武
日期: 2016/9/2.
email: jeff_zw@qq.com

实现原理:

  • 通过将adapter的count设置为极大值,实现同方向无穷轮播
  • 通过Timer,在每一页图片显示的时候,设置一个延时跳到下一页的操作
  • 通过ImageViewLoader加载图片

优点:

  • 最后一张图片到第一张图片过渡自然
  • 每一张图片都会显示指定延迟时间,不会因为人为滑动导致的跳页和时间错乱
  • 通过ImageViewLoader加载图片可实现图片缓存,不会出现过多图片造成oor
  • 通过传入url的数量动态决定轮播图的数量
  • 可设置轮播图显示时间(默认值3秒)

用例:

1)布局文件:

    <com.jeff.mybannercircledemo.BannerCirlePlayer       android:id="@+id/banner_circle_piayer"       android:layout_width="match_parent"       android:layout_height="150dp">    </com.jeff.mybannercircledemo.BannerCirlePlayer>

2)初始化:

        play = (BannerCirlePlayer) findViewById(R.id.banner_circle_piayer);        final List<String> urlList = new ArrayList<>();        urlList.add("url.jpg");        urlList.add("url.jpg");        List<View.OnClickListener> lis = new ArrayList<>();        lis.add(new View.OnClickListener() {            @Override            public void onClick(View view) {              //点击事件            }        });        lis.add(new View.OnClickListener() {            @Override            public void onClick(View view) {             //点击事件            }        });        //初始化ImageLoader,可以不设置 使用默认        play.setmImageLoader(new MyImageLoader(MainActivity.this));        //设置内容数据 (图片地址、图片点击事件、是否自动轮播)        play.setData(urlList,lis,true);

效果:
这里写图片描述

0 0
原创粉丝点击