Android广告图片轮播控件

常量

常量名称描述所属方法
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

动画常量类(setBannerAnimation方法调用)

常量类名
Transformer.Default
Transformer.Accordion
Transformer.BackgroundToForeground
Transformer.ForegroundToBackground
Transformer.CubeIn
Transformer.CubeOut
Transformer.DepthPage
Transformer.FlipHorizontal
Transformer.FlipVertical
Transformer.RotateDown
Transformer.RotateUp
Transformer.ScaleInOut
Transformer.Stack
Transformer.Tablet
Transformer.ZoomIn
Transformer.ZoomOut
Transformer.ZoomOutSlide

方法

方法名描述版本限制
setBannerStyle(int bannerStyle)设置轮播样式(默认为CIRCLE_INDICATOR)
setIndicatorGravity(int type)设置指示器位置(没有标题默认为右边,有标题时默认左边)
isAutoPlay(boolean isAutoPlay)设置是否自动轮播(默认自动)1.3.3结束
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<String> titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)1.3.3结束
setBannerTitles(List<String> 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开始
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的自定义动画

Attributes属性(banner布局文件中调用)

Attributesformadescribe
delay_timeinteger轮播执行时间,默认2000
is_auto_playboolean是否自动轮播,默认true
title_backgroundcolorreference标题栏的背景色
title_textcolorcolor标题字体颜色
title_textsizedimension标题字体大小
title_heightdimension标题栏高度
indicator_widthdimension指示器圆形按钮的宽度
indicator_heightdimension指示器圆形按钮的高度
indicator_margindimension指示器之间的间距
indicator_drawable_selectedreference指示器选中效果
indicator_drawable_unselectedreference指示器未选中效果
image_scale_typeenum(fit_xy/center_crop)和imageview的ScaleType作用一样


 

 依赖  implementation 'com.youth.banner:banner:1.4.10'

implementation 'com.github.bumptech.glide:glide:3.7.0'
<com.youth.banner.Banner xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/banner"
 android:layout_width="match_parent" 
android:layout_height="高度自己设置" />

 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Banner banner = (Banner) findViewById(R.id.banner);
//        设置banner样式 
        banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE); 
//        设置图片加载器 
        banner.setImageLoader(new ImageLoader() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {
                                                Glide.with(context).load(path).placeholder(R.mipmap.ic_camera).into(imageView);
            }
        });
        //设置图片集合 
         banner.setImages(images);
         //设置banner动画效果
         banner.setBannerAnimation(Transformer.DepthPage);
         //设置标题集合(当banner样式有显示title时)
         banner.setBannerTitles(Arrays.asList(titles));
         //设置自动轮播,默认为true
         banner.isAutoPlay(true); 
         //设置轮播时间 
         banner.setDelayTime(1500); 
         //设置指示器位置(当banner模式中有指示器时) 
         banner.setIndicatorGravity(BannerConfig.CENTER); 
         //banner设置方法全部调用完毕时最后调用
         banner.start(); }

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值