导入依赖
implementation 'jp.wasabeef:glide-transformations:3.0.1'
implementation 'com.xhb:xbanner:1.2.2'
implementation 'com.nineoldandroids:library:2.4.0'
布局
<com.stx.xhb.xbanner.XBanner
android:id="@+id/fragment_curricula_lunbo"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_below="@+id/layout">
</com.stx.xhb.xbanner.XBanner>
activity
// 初始化XBanner中展示的数据
final ArrayList<String> images = new ArrayList<>();
for (int i = 0; i <homeBanner.size() ; i++) {
images.add(homeBanner.get(i).getBannerUrl());
}
// 为XBanner绑定数据
fragment_curricula_lunbo.setData(images, null);
// XBanner适配数据
fragment_curricula_lunbo.setmAdapter(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, View view, int position) {
Glide.with(getActivity()).load(images.get(position)).into((ImageView) view);
}
});
// 设置XBanner的页面切换特效
fragment_curricula_lunbo.setPageTransformer(Transformer.Default);
// 设置XBanner页面切换的时间,即动画时长
fragment_curricula_lunbo.setPageChangeDuration(1000);
Activity生命周期联动
@Override
public void onResume() {
super.onResume();
fragment_curricula_lunbo.startAutoPlay();
}
@Override
public void onStop() {
super.onStop();
fragment_curricula_lunbo.stopAutoPlay();
}