BannerView
这是一个轻量简洁的自定义banner控件。欢迎大家提出意见或建议
BannerView在控件可见时自动播放,不可见时停止播放,不需要额外设置界面切换时的开始播放和暂停播放。
Gradle
compile 'com.lany:BannerView:2.1.0'
Usage
xml layout
<com.lany.banner.BannerView android:id="@+id/banner_view" android:layout_width="match_parent" android:layout_height="180dp" app:banner_delayTime="5000" app:banner_indicatorGravity="center" app:banner_indicatorMargin="4dp" app:banner_indicatorSelected="@drawable/selected" app:banner_indicatorType="circle_indicator_title_inside" app:banner_indicatorUnselected="@drawable/unselected" app:banner_isAutoPlay="true" app:banner_scaleType="fitXY" app:banner_scrollTime="1000" app:banner_titleBackground="#50000000" app:banner_titleTextColor="#ffffff" app:banner_titleTextSize="12sp" />
也可以使用默认配置:
<com.lany.banner.BannerView android:id="@+id/banner_view" android:layout_width="match_parent" android:layout_height="180dp"/>
code
BannerView bannerView = (BannerView) findViewById(R.id.banner_view);
//对banner的数据源list的数据结构不做要求,BannerItem可替换成你自己的数据结构
bannerView.setAdapter(new BannerAdapter<BannerItem>(items) {
@Override
public void bindImage(ImageView imageView, BannerItem item) {
//这里处理图片的数据绑定,可以使用任意一种图片加载框架
Glide.with(MainActivity.this)
.load(item.getPic())
.placeholder(R.drawable.pic)
.error(R.drawable.pic)
.into(imageView);
}
@Override
public void bindTitle(TextView titleText, BannerItem item) {
//这里处理标题内容的绑定。如果不需要显示标题,可不做处理
titleText.setText("" + item.getTitle());
}
@Override
public void onItemClicked(int position, BannerItem item) {
//如果需要处理banner的点击事件,这里处理
Toast.makeText(MainActivity.this, "点击" + position, Toast.LENGTH_SHORT).show();
}
});attribute
| Attributes | format | describe |
|---|---|---|
| banner_delayTime | integer | 不同界面切换时间 |
| banner_scrollTime | integer | 切换过程滑动时间 |
| banner_isAutoPlay | boolean | 是否自动轮播,默认true |
| banner_titleBackground | color | 标题背景颜色 |
| banner_titleTextColor | color | 标题颜色 |
| banner_titleTextSize | dimension | 标题字体大小 |
| banner_titleHeight | dimension | 标题栏高度 |
| banner_indicatorMargin | dimension | 指示器之间的间距 |
| banner_indicatorSelected | reference | 选中的指示器图片 |
| banner_indicatorUnselected | reference | 未选中的指示器图片 |
| banner_scaleType | enum | banner图片的显示方式 |
| banner_indicatorType | enum | 指示器的几种样式 |
| banner_indicatorGravity | enum | 指示器显示位置 |
原文链接:http://www.apkbus.com/blog-928212-76988.html