常量
常量名称 |
描述 |
所属方法 |
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布局文件中调用)
Attributes |
forma |
describe |
delay_time |
integer |
轮播执行时间,默认2000 |
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(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(); }