1、添加相关依赖(XBanner和图片加载工具glide)
implementation 'com.github.xiaohaibin:XBanner:androidx_v1.2.6'
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
2、activity代码
<com.stx.xhb.androidx.XBanner
android:id="@+id/xbanner"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:AutoPlayTime="3000"
app:isShowIndicatorOnlyOne="true"
app:isShowNumberIndicator="true"
app:pageChangeDuration="800"
app:pointNormal="@drawable/shape_noraml"
app:pointSelect="@drawable/shape_selected"
app:pointsContainerBackground="#44FFFFFF"
app:pointsPosition="RIGHT"
app:tipTextSize="12sp" />`
3、java代码
private void initBanner() {
mXBanner = (XBanner) findViewById(R.id.xbanner);
List<BaseBannerInfo> imgesUrl = new ArrayList<>();
imgesUrl.add(new BaseBannerInfo() {
@Override
public Object getXBannerUrl() {
return "http://imageprocess.yitos.net/images/public/20160910/1291473163104906.jpg";
}
@Override
public String getXBannerTitle() {
return "11";
}
});
imgesUrl.add(new BaseBannerInfo() {
@Override
public Object getXBannerUrl() {
return "http://imageprocess.yitos.net/images/public/20160910/1291473163104906.jpg";
}
@Override
public String getXBannerTitle() {
return "11";
}
});
mXBanner.setBannerData(imgesUrl);
mXBanner.loadImage(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
Glide.with(MainActivity.this).load(imgesUrl.get(position).getXBannerUrl()).into((ImageView) view);
}
});
mXBanner.setPageTransformer(Transformer.Default);
mXBanner.setOnItemClickListener(new XBanner.OnItemClickListener() {
@Override
public void onItemClick(XBanner banner, Object model, View view, int position) {
Toast.makeText(MainActivity.this, "点击了第" + position + "图片", Toast.LENGTH_SHORT).show();
}
});
}
@Override
protected void onResume() {
super.onResume();
mXBanner.startAutoPlay();
}
@Override
protected void onStop() {
super.onStop();
mXBanner.stopAutoPlay();
}
4、效果