android 弹窗banner,android-banner项目的使用

文章概述:

本篇文章记录开源的Banner库:android-banner 的使用。android-banner实现了一般banner循环轮播的效果,一页只显示一张图片,也可以一页显示一张图和相邻两个图片的一部分,此项目仅仅是banner展示图片,没有多余的诸如指示器、页面切换动画等效果代码,详见效果图和案例代码。

overview

overview.gif

效果图

usage

Gradle

repositories {

maven { url 'https://jitpack.io' }

}

dependencies {

compile 'com.github.cnlius:android-banner:0.0.2'

}

ProGuard

-keep class com.lw.banner.** {*;}

Layout

android:id="@+id/banner"

android:layout_width="match_parent"

android:layout_height="160dp" />

xml中可设置的一些属性

属性名称

属性值类型

作用

delayTime

integer

循环轮播时间间隔

scrollDuration

integer

banner滚动过程持续时间

isAutoPlay

boolean

是否自动轮播

scrollable

boolean

banner是否可以手动滑动

pageMargin

dimension

banner页面之间的间隔

pageLimit

integer

banner预加载页面数

leftPageWidth

dimension

当前页面左侧页面可以显示的宽度

rightPageWidth

dimension

当前页面右侧页面可以显示的宽度

emptyImage

reference

banner为空时的占位图片资源引用

案例:xml中设置循环轮播时间间隔

android:id="@+id/banner"

android:layout_width="match_parent"

android:layout_height="160dp"

app:delayTime="1000"/>

Code

List urls=getUrls();

banner.setImages(urls)

.setImageLoader(new GlideImageLoader())

.init();

代码中可以配置的一些属性:

banner.setImages(Arrays.asList(imgRes)) //设置图片资源

//.setImageLoader(new FrescoImageLoader()) // 设置fresco图片加载器

.setImageLoader(new GlideImageLoader()) //设置Glide图片加载器

//.setPageTransformer(true, new PageScaleYTransformer()) //页面切换动画

.setOnItemClickListener(new Banner.OnItemClickListener() {

@Override

public void callBack(int position) {

Toast.makeText(MainActivity.this, "position=" + position, Toast.LENGTH_SHORT).show();

}

}) //设置banner点击监听

//.setScrollable(false) // 禁用banner手动滑动

//.setDelayTime(1000) // 循环轮播时间间隔

//.setPageLimit(4) // 设置预加载页面数量

//.setPageMargin(20) // banner页面之间的间隔

//.setRightPageWidth(50) // 当前页面右侧页面可以显示的宽度

//.setLeftPageWidth(50) // 当前页面左侧页面可以显示的宽度

//.setEmptyImageRes(R.mipmap.no_banner) // banner为空时占位图

//.setEmptyImageScaleType(ImageView.ScaleType.FIT_CENTER) // 占位图的缩放类型,默认FIT_XY

.isAutoPlay(true) // 设置自动循环轮播

.init();

// 拿到占位图ImageView对象

ImageView emptyView = mBinding.banner2.getEmptyView();

emptyView.setImageResource(R.mipmap.mn_01);

// 拿到BannerViewPager对象

BannerViewPager bannerViewPager = mBinding.banner2.getBannerViewPager();

生命周期中控制循环轮播的周期

@Override

protected void onStart() {

super.onStart();

//开始轮播

banner.startAutoPlay();

}

@Override

protected void onStop() {

super.onStop();

//结束轮播

banner.stopAutoPlay();

}

参考

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值