简单方便的Banner无限轮播图

GIT地址

1.依赖

compile 'com.youth.banner:banner:1.4.9'

2.XML布局文件

<com.youth.banner.Banner
    android:id="@+id/banner"
    android:layout_width="wrap_content"
    android:layout_height="200dp"/>

3.代码实现

         banner
        .setImages(imgs)//添加图片集合或图片url集合
        .setIndicatorGravity(BannerConfig.CENTER)//设置指示器位置(当banner模式中有指示器时)
        .setBannerAnimation(Transformer.FlipHorizontal)//设置banner动画效果
        .setBannerTitles(titles)//设置标题集合(当banner样式有显示title时)
        .setDelayTime(1500)//设置轮播时间
        .setBannerStyle(BannerConfig.CIRCLE_INDICATOR)
        .setImageLoader(new GlideImage())//加载图片
        .setIndicatorGravity(BannerConfig.CENTER)//设置指示器位置
        .start();

工具类

public class GlideImage extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        //String注意修改类型
        Picasso.with(context.getApplicationContext()).load((String) path).into(imageView);
    }

}

Attributes

forma

describe

delay_time

integer

轮播间隔时间,默认2000

scroll_time

integer

轮播滑动执行时间,默认800

is_auto_play

boolean

是否自动轮播,默认true

title_background

color

reference

title_textcolor

color

标题字体颜色

title_textsize

dimension

标题字体大小

title_height

dimension

标题栏高度

indicator_width

dimension

指示器圆形按钮的宽度

indicator_height

dimension

指示器圆形按钮的高度

indicator_margin

dimension

指示器之间的间距

indicator_drawable_selected

reference

指示器选中效果

indicator_drawable_unselected

reference

指示器未选中效果

image_scale_type

enum

和imageview的ScaleType作用一样

 

5.方法

方法名

描述

版本限制

setBannerStyle(int bannerStyle)

设置轮播样式(默认为CIRCLE_INDICATOR)

setIndicatorGravity(int type)

设置指示器位置(没有标题默认为右边,有标题时默认左边)

isAutoPlay(boolean isAutoPlay)

设置是否自动轮播(默认自动)

setViewPagerIsScroll(boolean isScroll)

设置是否允许手动滑动轮播图(默认true)

1.4.5开始

update(List<?> imageUrls,List titles)

更新图片和标题

1.4.5开始

update(List<?> imageUrls)

更新图片

1.4.5开始

startAutoPlay()

开始轮播

1.4开始,此方法只作用于banner加载完毕-->需要在start()后执行

stopAutoPlay()

结束轮播

1.4开始,此方法只作用于banner加载完毕-->需要在start()后执行

start()

开始进行banner渲染

1.4开始

setOffscreenPageLimit(int limit)

同viewpager的方法作用一样

1.4.2开始

setBannerTitle(String[] titles)

设置轮播要显示的标题和图片对应(如果不传默认不显示标题)

1.3.3结束

setBannerTitleList(List titles)

设置轮播要显示的标题和图片对应(如果不传默认不显示标题)

1.3.3结束

setBannerTitles(List titles)

设置轮播要显示的标题和图片对应(如果不传默认不显示标题)

1.4开始

setDelayTime(int time)

设置轮播图片间隔时间(单位毫秒,默认为2000)

setImages(Object[]/List<?> imagesUrl)

设置轮播图片(所有设置参数方法都放在此方法之前执行)

1.4后去掉数组传参

setImages(Object[]/List<?> imagesUrl,OnLoadImageListener listener)

设置轮播图片,并且自定义图片加载方式

1.3.3结束

setOnBannerClickListener(this)

设置点击事件,下标是从1开始

无(1.4.9以后废弃了)

setOnBannerListener(this)

设置点击事件,下标是从0开始

1.4.9以后

setOnLoadImageListener(this)

设置图片加载事件,可以自定义图片加载方式

1.3.3结束

setImageLoader(Object implements ImageLoader)

设置图片加载器

1.4开始

setOnPageChangeListener(this)

设置viewpager的滑动监听

setBannerAnimation(Class<? extends PageTransformer> transformer)

设置viewpager的默认动画,传值见动画表

setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer)

设置viewpager的自定义动画

6.常量

常量名称

描述

所属方法

BannerConfig.NOT_INDICATOR

不显示指示器和标题

setBannerStyle

BannerConfig.CIRCLE_INDICATOR

显示圆形指示器

setBannerStyle

BannerConfig.NUM_INDICATOR

显示数字指示器

setBannerStyle

BannerConfig.NUM_INDICATOR_TITLE

显示数字指示器和标题

setBannerStyle

BannerConfig.CIRCLE_INDICATOR_TITLE

显示圆形指示器和标题(垂直显示)

setBannerStyle

BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE

显示圆形指示器和标题(水平显示)

setBannerStyle

BannerConfig.LEFT

指示器居左

setIndicatorGravity

BannerConfig.CENTER

指示器居中

setIndicatorGravity

BannerConfig.RIGHT

指示器居右

setIndicatorGravity

223916_bL9y_2663968.jpg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值