GitHub地址
https://github.com/pinguo-zhouwei/MZBannerView
效果:
依赖:
//MZBanner
implementation 'com.github.pinguo-zhouwei:MZBannerView:v2.0.2'
大的gradle里:
maven { url 'https://jitpack.io' }
布局:
<com.zhouwei.mzbanner.MZBannerView
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="20dp"
app:open_mz_mode="true"
app:middle_page_cover="false"
app:canLoop="true"
app:indicatorAlign="center"
android:layout_below="@+id/lin1"
app:indicatorPaddingLeft="10dp"
/>
Activity里
// 设置数据
banner.setPages(list, new MZHolderCreator<BannerViewHolder>() {
@Override
public BannerViewHolder createViewHolder() {
return new BannerViewHolder();
}
});
public class BannerViewHolder implements MZViewHolder<BannerBean.ResultBean> {
private ImageView mImageView;
@Override
public View createView(Context context) {
// 返回页面布局
View view = LayoutInflater.from(context).inflate(R.layout.banner_iteam, null);
mImageView = (ImageView) view.findViewById(R.id.banner_image);
return view;
}
@Override
public void onBind(Context context, int i, BannerBean.ResultBean resultBean) {
Glide.with(context).load(resultBean.getImageUrl()).into(mImageView);
}
}
XBanner
XBanner
GitHub
https://github.com/xiaohaibin/XBanner
依赖
implementation 'com.github.xiaohaibin:XBanner:1.6.4'
布局:
<com.stx.xhb.xbanner.XBanner
android:id="@+id/banner"
android:layout_width=“match_parent”
android:layout_height=“150dp”
android:layout_marginTop=“20dp”
app:open_mz_mode=“true”
app:middle_page_cover=“false”
app:canLoop=“true”
app:indicatorAlign=“center”
app:indicatorPaddingLeft=“10dp”
/>
代码:
//截取字符串
String picture = bean.getResult().getPicture();
String[] strings = picture.split(",");
final List<String> list = new ArrayList<>();
for (int i = 0; i < strings.length; i++) {
list.add(strings[i]);
}
//设置
banner.setData(list, null);
banner.loadImage(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
Glide.with(Main2Activity.this).load(list.get(position)).into((ImageView) view);
}
});