前言:關(guān)于com.bigkoo:convenientbanner使用方法的步驟。
1、compile 'com.bigkoo:convenientbanner:2.0.5'
2、布局使用
<com.bigkoo.convenientbanner.ConvenientBanner
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/convenientBanner"
android:layout_width="match_parent"
android:layout_height="200dp"
app:canLoop="true" //控制循環(huán)與否
/>
3、代碼使用
//自定義你的Holder,實(shí)現(xiàn)更多復(fù)雜的界面,不一定是圖片翻頁(yè),其他任何控件翻頁(yè)亦可。
convenientBanner.setPages(
new CBViewHolderCreator<LocalImageHolderView>() {
@Override
public LocalImageHolderView createHolder() {
return new LocalImageHolderView();
}
}, localImages)
//設(shè)置兩個(gè)點(diǎn)圖片作為翻頁(yè)指示器,不設(shè)置則沒(méi)有指示器,可以根據(jù)自己需求自行配合自己的指示器,不需要圓點(diǎn)指示器可用不設(shè)
.setPageIndicator(new int[]{R.drawable.ic_page_indicator, R.drawable.ic_page_indicator_focused})
//設(shè)置指示器的方向
.setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT)
//設(shè)置翻頁(yè)的效果,不需要翻頁(yè)效果可用不設(shè)
//.setPageTransformer(Transformer.DefaultTransformer); 集成特效之后會(huì)有白屏現(xiàn)象,新版已經(jīng)分離,如果要集成特效的例子可以看Demo的點(diǎn)擊響應(yīng)。
//convenientBanner.setManualPageable(false);//設(shè)置不能手動(dòng)影響
4、自定義你的Holder類(lèi)
//A、網(wǎng)絡(luò)圖片
public class NetworkImageHolderView implements Holder<String> {
private ImageView imageView;
@Override
public View createView(Context context) {
//你可以通過(guò)layout文件來(lái)創(chuàng)建,也可以像我一樣用代碼創(chuàng)建,不一定是Image,任何控件都可以進(jìn)行翻頁(yè)
imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
return imageView;
}
@Override
public void UpdateUI(Context context, int position, String data) {
imageView.setImageResource(R.drawable.defauit);
Glide.with(context).load(data).placeholder(R.drawable.defauit).into(imageView);
}
}
//B、本地圖片
public class LocalImageHolderView implements Holder<Integer> {
private ImageView imageView;
@Override
public View createView(Context context) {
imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
return imageView;
}
@Override
public void UpdateUI(Context context, int position, Integer data) {
imageView.setImageResource(data);
}
}