通用的广告栏控件,让你轻松实现广告头效果。支持无限循环,可以设置自动翻页和时间(而且非常智能,手指触碰则暂停翻页,离开自动开始翻页。你也可以设置在界面onPause的时候不进行自动翻页,onResume之后继续自动翻页),并且提供多种翻页特效。 对比其他广告栏控件,大多都需要对源码进行改动才能加载网络图片,或者帮你集成不是你所需要的图片缓存库。而这个库能让有代码洁癖的你欢喜,不需要对库源码进行修改你就可以使用任何你喜欢的网络图片库进行配合。
1.build.gradle
compile 'com.bigkoo:convenientbanner:2.0.5'
2.xml
<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="470dp" app:canLoop="true" />
3.java
convenientBanner.setPages(new CBViewHolderCreator<LocalImageHolderView>() { @Override public LocalImageHolderView createHolder() { return new LocalImageHolderView(); } }, pUserList) .setPageIndicator(new int[]{R.drawable.d2, R.drawable.d1}) .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.ALIGN_PARENT_RIGHT) .setOnItemClickListener(this); try { Class cls = Class.forName("com.ToxicBakery.viewpager.transforms." + AccordionTransformer.class.getSimpleName()); ABaseTransformer transforemer = (ABaseTransformer) cls.newInstance(); convenientBanner.getViewPager().setPageTransformer(true, transforemer); } catch (Exception e) { e.printStackTrace(); }
pUserList 是个LIST。d1 d2是小点点图片 try里面是滑动动画。
4.Holder
public class LocalImageHolderView implements Holder<PUser> { 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, PUser data) { imageView.setImageResource(R.drawable.home_1); } }
PUser 对应之前的 pUserList
git地址:https://github.com/saiwu-bigkoo/Android-ConvenientBanner