導入依賴
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(); }