简单方便的Banner无限轮播图

GIT地址android

1.依赖git

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

2.XML布局文件github

<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();

工具类ide

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动画

integerthis

轮播间隔时间,默认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

相关文章
相关标签/搜索