android 轮播图 画廊,GitHub - lyeday/ABanner: ABanner 是一个安卓的轮播图,支持画廊效果,支持自定义各种效果,支持自定义指示器...

ABanner

ABanner 是一个安卓的轮播图,支持画廊效果,支持自定义各种效果,支持自定义指示器

68747470733a2f2f6170692e62696e747261792e636f6d2f7061636b616765732f7a68696368656e6777752f4142616e6e65722f4142616e6e65722f696d616765732f646f776e6c6f61642e737667

效果图

image.png

特点

无限轮播

经典效果

画廊效果

View 复用机制

多种指示器(圆角矩形,矩形,圆点,图片等)

形状指示器支持设置选中与未选择颜色

自定义效果

自定义指示器

等等....

用法

1、 在project中的gradle的allprojects中添加

allprojects {

repositories {

google()

jcenter()

//添加以下代码

maven {

https://dl.bintray.com/zhichengwu/ABanner

}

}

...

2、 在 app中的 gradle 中添加依赖

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

...

//添加以下代码

implementation 'com.zhicheng:ABanner:latestVersion'

}

3、 在xml布局文件中使用ABanner控件

android:layout_width="match_parent"

android:layout_height="220dp">

4、设置数据适配器

aABanner.setAdapter(aBaseABannerAdapter);

该适配器继承于 BaseABannerAdapter ,并重写下列方法:

//返回视图

public abstract View getView(int position, int viewType, View reusedView, ViewGroup parent);

public abstract int getCount(); //返回总个数

如有必要可以重写以下方法:

public int getViewType(int position); //返回一个视图类型,默认为0

5、在代码中对Abanner样式等进行设置

mBanner.setBannerTransformerType(ABanner.BannerType.GALLERY) //设置类型

.setAdapter(new BannerAdapter(true)) //设置 adapter

.setBannerTransformerDuration(1000) //设置滚动动画时间

.setBannerTrannerScale(0.8f) // 设置画廊模式的缩放

.setIndicatorType(ABanner.IndicatorType.ROUND_RECTANGLE) //设置指示器类型(圆角矩形)

.setIndicatorPosition(ABanner.IndicatorPosition.CENTER_BOTTOM,new Rect(80,50,80,20)) //设置指示器位置,并设置margin值

.startLoop(3000);

6、设置指示器

//获取到指示器后,根据类型强转,然后进行个性化设置

ShapeBannerIndicator bannerIndicator = (ShapeBannerIndicator)mBanner.getBannerIndicator();

bannerIndicator.setSelectColor(Color.RED); //设置选中颜色

bannerIndicator.setNormalColor(Color.LTGRAY); //设置未选中颜色

bannerIndicator.setNormalSize(new ASize(10,10)); //设置未选中大小

bannerIndicator.setSelectSize(new ASize(10,10)); //设置选中大小

bannerIndicator.reset(); //设置完成后请调用该方法

更多设置未详尽列出....

高级设置

自定义指示器

请自定义一个继承BaseBannerIndicator的类, 并且实现以下方法

//当item需要更新的时候调用,selected `true`表示为选中状态的视图

public abstract void updateIndicatorItemView(View view,boolean selected);

//表示获取一个item的视图

public abstract View getIndicatorItemView(boolean selected);

然后调用以下方法:

aABanner.setCustomIndicator(aBaseBannerIndicator);

自定义滚动动画

请自定义一个类继承自BaseBannerTransformer并重写其中的方法,然后调用以下方法:

aABanner.setCustomTransformer(aBaseBannerTransformer);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值