导入依赖
implementation 'jp.wasabeef:glide-transformations:3.0.1' implementation 'com.xhb:xbanner:1.2.2' implementation 'com.nineoldandroids:library:2.4.0'
XBanner控件的部分属性
属性名 | 属性说明 | 属性值 |
---|---|---|
isAutoPlay | 是否支持自动轮播 | boolean类型,默认为true |
autoPlayTime | 图片轮播事件间隔 | int类型,默认5000ms |
pointNormal | 指示器未选中时的状态 | drawable类型,不指定的话使用默认状态点 |
pointSelect | 指示器选中时的状态 | drawable类型,不指定的话使用默认状态点 |
pointsVisible | 是否显示指示器 | boolean类型,默认为true |
pointsPosition | 指示点位置 | CENTER、LEFT、RIGHT,默认CENTER |
pointsContainerBackground | 指示器条背景 | color类型、drawable类型、mipmap类型等 |
pointContainerPosition | 指示器条位置 | TOP、BOTTOM,默认BOTTOM |
pointContainerLeftRightPadding | 指示点容器左右内间距 | dimension类型,默认10.0dip |
pointTopBottomPadding | 指示点上下内间距 | dimension类型,默认6.0dip |
pointLeftRightPadding | 指示点左右内间距 | dimension类型,默认3.0dip |
tipTextColor | 提示文字的颜色 | reference类型 |
tipTextSize | 提示文字的大小 | dimension类型,默认10.0dp |
布局代码:
<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(); }