Android实现轮播图
昨天早睡,今天早上精力充沛!所以写一篇博客记录一下。
效果图:
第一步添加依赖:
compile 'com.youth.banner:banner:1.4.9'
第二步在布局中添加:
<com.youth.banner.Banner
android:id="@+id/mBanner"
android:layout_width="match_parent"
android:layout_height="150dp">
</com.youth.banner.Banner>
第三步,代码实现:
public class FindFragment extends Fragment implements OnBannerListener{
private Banner mBanner;
private ArrayList<String> list_path;
private ArrayList<String> list_title;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.find_fragment, container, false);
initView(view);
return view;
}
private void initView(View view) {
mBanner = (Banner) view.findViewById(R.id.mBanner);
//放图片地址的集合
list_path=new ArrayList<>();
list_path.add("http://img000.hc360.cn/m6/M06/E7/5D/wKhQolZM-RSEdbGvAAAAALHlV6M649.jpg");
list_path.add("http://img.zcool.cn/community/0172bf57ac3cf60000012e7ea54ee4.jpg@900w_1l_2o_100sh.jpg");
list_path.add("http://img.zcool.cn/community/01821357f7c646a84a0d304f9578ac.png");
list_path.add("http://pic17.nipic.com/20111117/7168712_090744285164_2.jpg");
//放标题的集合
list_title=new ArrayList<>();
list_title.add("轮播图1");
list_title.add("轮播图2");
list_title.add("轮播图3");
list_title.add("轮播图4");
//设置banner样式
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
//设置图片加载器,图片加载器在下方
mBanner.setImageLoader(new MyLoader());
//设置图片地址集合
mBanner.setImages(list_path);
//设置标题的集合
mBanner.setBannerTitles(list_title);
//设置轮播间隔时间
mBanner.setDelayTime(3000);
//设置轮播动画效果
mBanner.setBannerAnimation(Transformer.Default);
//设置轮播
mBanner.isAutoPlay(true);
//设置指示器位置
mBanner.setIndicatorGravity(BannerConfig.CENTER);
//设置监听
mBanner.setOnBannerListener(this);
//启动轮播图
mBanner.start();
}
@Override
public void OnBannerClick(int position) {
Toast.makeText(getContext(),position+"项",Toast.LENGTH_SHORT).show();
}
private class MyLoader implements ImageLoaderInterface {
@Override
public void displayImage(Context context, Object path, View imageView) {
Glide.with(context).load(path).into((ImageView) imageView);
}
@Override
public View createImageView(Context context) {
return null;
}
}
}
混淆一下:
# glide 的混淆代码
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# banner 的混淆代码
-keep class com.youth.banner.** {
*;
}
注:Glide是一个网络图片加载框架,只需添加依赖即可:
compile 'com.github.bumptech.glide:glide:3.7.0'
好了,完成以上步骤就有效果了。有事联系我。