欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android轮播图Banner

程序员文章站 2022-12-29 08:23:29
android实现轮播图 效果图: 第一步添加依赖: compile 'com.youth.banner:banner:1.4.9' 第二步在布局中添加: 第三步,...

android实现轮播图

效果图:

Android轮播图Banner

第一步添加依赖:

compile 'com.youth.banner:banner:1.4.9'

第二步在布局中添加:


 

第三步,代码实现:

public class findfragment extends fragment  implements onbannerlistener{
 private banner mbanner;
 private arraylist list_path;
 private arraylist 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("https://img000.hc360.cn/m6/m06/e7/5d/wkhqolzm-rsedbgvaaaaalhlv6m649.jpg");
  list_path.add("https://img.zcool.cn/community/0172bf57ac3cf60000012e7ea54ee4.jpg@900w_1l_2o_100sh.jpg");
  list_path.add("https://img.zcool.cn/community/01821357f7c646a84a0d304f9578ac.png");
  list_path.add("https://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'

好了,完成以上步骤就有效果了。有事联系我。