android 自定义banner样式_Android中广告轮播框架Banner----(功能很全面

本文介绍了一个Android自定义的Banner框架,适用于创建各种样式的广告轮播,包括指示器、数字和标题模式,支持垂直和水平显示。框架提供丰富的API,如设置轮播样式、指示器位置、自动轮播等。此外,还提供了多种内置动画和自定义图片加载方式,以及详细的使用步骤和解决常见问题的方法。
摘要由CSDN通过智能技术生成

Android图片轮播控件

新框架发布,欢迎大家Star

现在的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页, 所以要实现循环还得需要自己去动手,我就把项目中的控件剔了出来,希望大家觉得有用。目前框架可以进行不同样式、不同动画设置, 以及完善的api方法能满足大部分的需求了。

效果图

模式

图片

指示器模式

数字模式

数字加标题模式

指示器加标题模式

垂直显示

指示器加标题模式

水平显示

联系方式 

如果遇到问题和建议欢迎在给我发送邮件或者加入qq群,希望让这个工程越来越完善。

群满可以加群2:594813900

常量

常量名称

描述

所属方法

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方法调用)

ViewPagerTransforms 动画时集成的第三方库,可能有兼容问题导致position位置不准确,你可以选择参考动画然后自定义动画

常量类名

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)

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

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的自定义动画

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

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作用一样

banner_default_image

reference

当banner数据为空是显示的默认图片

banner_layout

reference

自定义banner布局文件,但是必须保证id的名称一样(你可以将banner的布局文件复制出来进行修改)

使用步骤

Step 1.依赖banner

Gradle

或者引用本地lib

Step 2.添加权限到你的 AndroidManifest.xml

Step 3.在布局文件中添加Banner,可以设置自定义属性

!!!此步骤可以省略,直接在Activity或者Fragment中new Banner();

Step 4.重写图片加载器

Step 5.在Activity或者Fragment中配置Banner

Step 6.(可选)增加体验

混淆代码

常见问题

问:eclipse怎么使用banner?

答:在历史版本列表中下载你想要版本的aar包提取最新资源/也可以自己把工程转成eclipse的

eclipse的集成demo群文件里有共享!

问:怎么显示的一片空白?

答:

1、没有添加网络权限

2、检查图片链接是否能打开。

问:怎么加载其他图片资源(资源文件、文件、Uri、assets、raw、ContentProvider、sd卡资源)?

答:列如!如果你使用的是glide,那么可以如下操作,其他图片图片加载框架可能有不同

问:设置banner指示器颜色怎么变成方的了?

答:首先我先要说很多软件的指示器也是矩形的,然后banner的指示器可以设置color、资源图片、drawable文件夹自定义xml, 所以形状你自己可以根据需求定义哦!

问:为什么banner的点击事件没有反应,需要下一次轮播才行?

答:请将点击事件放在start方法之前执行,详情可以看demo。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android,可以使用第三方库来实现轮播图效果,其一个常用的库是Banner。在使用Banner库时,可以通过设置一些属性来自定义轮播图的效果。例如,可以设置轮播间隔时间、轮播图的圆角等属性。\[1\] 此外,还可以设置轮播图的样式,内置样式有多种可供选择,可以根据需求进行设置。可以设置图片的加载方式,设置图片的网址或地址集合,设置轮播图的标题集合等。还可以设置是否自动轮播、显示器的位置等。\[2\] 如果想要实现一个简单的轮播图效果,可以使用Banner框架提供的BannerImageAdapter适配器。可以通过设置适配器来加载轮播图的数据,并在适配器设置图片的显示方式。\[3\] 总结起来,使用Banner库可以方便地实现Android轮播图效果,通过设置属性和适配器来自定义轮播图的样式和数据。 #### 引用[.reference_title] - *1* *3* [Android---Banner轮播图](https://blog.csdn.net/qq_44950283/article/details/128390186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Android入门Banner轮播图的使用(详解)](https://blog.csdn.net/m0_53223811/article/details/122562021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值