github项目链接:https://github.com/saiwu-bigkoo/Android-ConvenientBanner
gradle依赖添加:
compile ‘com.bigkoo:convenientbanner:2.0.5’
XML布局:
<com.bigkoo.convenientbanner.ConvenientBanner
android:id="@+id/convenientBanner"
android:layout_width="match_parent"
android:layout_height="200dp"
app:canLoop="true"/>//设置是否可以循环
Java:
convenientBanner.setPages(new CBViewHolderCreator<NetworkImageHolderView>() {
@Override
public NetworkImageHolderView createHolder() {
return new NetworkImageHolderView();
}
}, topNewsItems) //设置需要切换的View数据
.setPointViewVisible(true) //设置指示器是否可见
.setPageIndicator(new int[]{R.drawable.dot_unselected, R.drawable.dot_selected}) //设置指示器圆点
.startTurning(5000) //设置自动切换(同时设置了切换时间间隔)
.stopTurning() //关闭自动切换
.setManualPageable(false) //设置手动影响(设置了该项无法手动切换)
.setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT) //设置指示器位置(左、中、右)
.setOnItemClickListener(this); //设置点击监听事件
public class NetworkImageHolderView implements Holder<String> {//String为传入的数据类型,可以更改为其他
private ImageView imageView;
@Override
public View createView(Context context) {
//你可以通过layout文件来创建,也可以像我一样用代码创建,不一定是Image,任何控件都可以进行翻页
imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
return imageView;
//view = LayoutInflater.from(context).inflate(R.layout.banner_item, null, false);
// return view;
}
@Override
public void UpdateUI(Context context,int position, String data) {
imageView.setImageResource(R.drawable.ic_default_adimage);
ImageLoader.getInstance().displayImage(data,imageView);
}
}