完美的轮播框架,Banner使用心得

作者: android 发布时间: 2018-12-08 浏览: 257 次

最近项目中改版,之前的轮播图实现不是很好,这次要改掉,之后就发现了一个完美的轮播图框架。

框架地址

框架的使用很简单:
步骤:
1.依赖Banner

dependencies{
    compile 'com.youth.banner:banner:1.4.9'  //最新版本
}

2.清单文件中添加相关的权限

<!-- if you want to load images from the internet -->
<uses-permission android:name="android.permission.INTERNET" /> 


<!-- if you want to load images from a file OR from the internet -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

3.布局中添加Banner,设置相关的属性

<com.youth.banner.Banner
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="@dimen/base185dp"
    android:layout_marginTop="@dimen/base3dp"
    android:layout_marginBottom="@dimen/base3dp"
    ></com.youth.banner.Banner>

4.设置图片加载器

banner.setImageLoader(new com.youth.banner.loader.ImageLoader() {
    @Override
 public void displayImage(Context context, Object path, ImageView imageView) {
  //此处可以自行选择,我直接用的Picasso
      Picasso.with(activity).load((String) path).into(imageView);
                                         }
                             });

5.在Activity或者Fragment中配置Banner

banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);//设置圆形指示器与标题
 banner.setIndicatorGravity(BannerConfig.RIGHT);//设置指示器位置
 banner.setDelayTime(2000);//设置轮播时间
 banner.setImages(images);//设置图片源
 banner.setBannerTitles(titles);//设置标题源
 banner.start();

至此,只需5步就完成了轮播图的实现

如果你需要点击图片进入相应的详情页,你可以使用

banner.setOnBannerListener(new OnBannerListener() {
    @Override
    public void OnBannerClick(int position) {
 Intent intent = new Intent(activity, PagerDetailActivity.class);
 intent.putExtra("urlImage",NetIp.base_url+lunbo.getList().getLunbo().get(position).getLitpic());
 intent.putExtra("title", lunbo.getList().getLunbo().get(position).getTitle());
 intent.putExtra("url",NetIp.home_pager_detail+"&id="+lunbo.getList().getLunbo().get(position).getId());
  activity.startActivity(intent);
                          }
      }

这个框架真心好用,我只是粗略写了一下使用的方法,如果你想更深入的学习,请前去


github