Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ ABanner Public

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

License

Notifications You must be signed in to change notification settings

lyeday/ABanner

Repository files navigation

ABanner

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

Download

效果图

效果图

特点

  • 无限轮播
  • 经典效果
  • 画廊效果
  • View 复用机制
  • 多种指示器(圆角矩形,矩形,圆点,图片等)
  • 形状指示器支持设置选中与未选择颜色
  • 自定义效果
  • 自定义指示器
  • 等等....

用法

1、 在project中的gradleallprojects中添加

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控件

 <com.zhicheng.androidbanner.ABanner
 android:layout_width="match_parent"
 android:layout_height="220dp">
 </com.zhicheng.androidbanner.ABanner>

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);
	

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /