Banner开源框架1.3.3版本[Android轮播控件]

文章目录

  1. 1. github传送门
  2. 2. 效果图
  3. 3. Gradle (1.4以后版本使用方法请点击传送门)
  4. 4. 常量
  5. 5. 动画常量类
  6. 6. 方法
  7. 7. [ 点击查看 ViewPager的PageTransformer用法 ]
  8. 8. 使用步骤
    1. 8.1. 在布局文件中添加Banner
      1. 8.1.1. 简单使用
      2. 8.1.2. xml自定义属性
    2. 8.2. 在Activity或者Fragment中配置Banner

现在的绝大数App都有banner界面,也就是轮播控件,主要是实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页,所以要实现循环还得需要自己去动手,我为了方便就开源了一个轮播控件,希望大家觉得有用。详细内容可进入github上查看。

github传送门

https://github.com/youth5201314/banner

效果图

模式 图片
指示器模式 效果示例
数字模式 效果示例
数字加标题模式 效果示例
指示器加标题模式
垂直显示
效果示例
指示器加标题模式
水平显示
效果示例

Gradle (1.4以后版本使用方法请点击传送门)

1
2
3
dependencies{
compile 'com.youth.banner:banner:1.3.3'
}

或者引用本地lib

1
compile project(':banner')

常量

方法名 描述
BannerConfig.NOT_INDICATOR 不显示指示器和标题
BannerConfig.CIRCLE_INDICATOR 显示圆形指示器
BannerConfig.NUM_INDICATOR 显示数字指示器
BannerConfig.NUM_INDICATOR_TITLE 显示数字指示器和标题
BannerConfig.CIRCLE_INDICATOR_TITLE 显示圆形指示器和标题(垂直显示)
BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE 显示圆形指示器和标题(水平显示)
BannerConfig.LEFT 指示器居左
BannerConfig.CENTER 指示器居中
BannerConfig.RIGHT 指示器居右

动画常量类

常量类名
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) 设置轮播样式(默认为Banner.NOT_INDICATOR)
setIndicatorGravity(int type) 设置指示器位置(没有标题默认为右边,有标题时默认左边)
isAutoPlay(boolean isAutoPlay) 设置是否自动轮播(默认自动)
setBannerTitle(String[] titles) 设置轮播要显示的标题和图片对应(如果不传默认不显示标题)
setBannerTitleList(List titles) 设置轮播要显示的标题和图片对应(如果不传默认不显示标题)
setDelayTime(int time) 设置轮播图片间隔时间(默认为2000)
setImages(Object[]/List<?> imagesUrl) 设置轮播图片(所有设置参数方法都放在此方法之前执行)
setImages(Object[]/List<?> imagesUrl,OnLoadImageListener listener) 设置轮播图片,并且自定义图片加载方式
setOnBannerClickListener(this) 设置点击事件,下标是从1开始
setOnBannerImageListener(this) 设置图片加载事件,可以自定义图片加载方式
setOnPageChangeListener(this) viewpager的滑动监听
setBannerAnimation(Class<? extends PageTransformer> transformer) 设置viewpager的默认动画,传值见动画表
setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer) 设置viewpager的自定义动画

[ 点击查看 ViewPager的PageTransformer用法 ]

使用步骤

在布局文件中添加Banner

简单使用
1
2
3
4
5
<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="高度自己动态设置" />
xml自定义属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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="高度自己设置"
app:default_image="默认加载图片"
app:delay_time="轮播间隔时间"
app:is_auto_play="是否自动轮播"
app:indicator_margin="指示器之间的间距"
app:indicator_drawable_selected="指示器选中效果"
app:indicator_drawable_unselected="指示器未选中效果"
app:indicator_height="指示器圆形按钮的高度"
app:indicator_width="指示器圆形按钮的宽度"
app:title_background="标题栏的背景色"
app:title_height="标题栏高度"
app:title_textcolor="标题字体颜色"
app:title_textsize="标题字体大小"/>

在Activity或者Fragment中配置Banner

1
2
3
4
5
6
7
8
9
10
11
12
13
private Banner banner;
String[] images= new String[] {"url"};
String[] titles=new String[]{"标题"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
banner = (Banner) findViewById(R.id.banner);
/**
*一步搞定,设置图片就行了(如果需要其他设置,请在setImages之前完成)
*/
banner.setImages(images);
}