Banner的最简单使用

Step 1.依赖banner

?
1
2
3
4
Gradle
dependencies{
   compile 'com.youth.banner:banner:1.4.9' //最新版本
}

或者引用本地lib

?
1
compile project( ':banner' )

Step 2.添加权限到你的 AndroidManifest.xml

?
1
2
3
4
<!-- 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" />

Step 3.在布局文件中添加Banner,可以设置自定义属性

?
1
2
3
4
5
6
!!!此步骤可以省略,直接在Activity或者Fragment中 new Banner();
<com.youth.banner.Banner
   android:id= "@+id/banner"
   android:layout_width= "match_parent"
   android:layout_height= "高度自己设置" />

Step 4.重写图片加载器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class GlideImageLoader extends ImageLoader {
   @Override
   public void displayImage(Context context, Object path, ImageView imageView) {
     /**
      注意:
      1.图片加载器由自己选择,这里不限制,只是提供几种使用方法
      2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器,
      传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行,
      切记不要胡乱强转!
      */
     eg:
     //Glide 加载图片简单用法
     Glide.with(context).load(path).into(imageView);
     //Picasso 加载图片简单用法
     Picasso.with(context).load(path).into(imageView);
     //用fresco加载图片简单用法,记得要写下面的createImageView方法
     Uri uri = Uri.parse((String) path);
     imageView.setImageURI(uri);
   }
   //提供createImageView 方法,如果不用可以不重写这个方法,主要是方便自定义ImageView的创建
   @Override
   public ImageView createImageView(Context context) {
     //使用fresco,需要创建它提供的ImageView,当然你也可以用自己自定义的具有图片加载功能的ImageView
     SimpleDraweeView simpleDraweeView= new SimpleDraweeView(context);
     return simpleDraweeView;
   }
}

Step 5.在Activity或者Fragment中配置Banner

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
--------------------------简单使用-------------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
   super .onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   Banner banner = (Banner) findViewById(R.id.banner);
   //设置图片加载器
   banner.setImageLoader( new GlideImageLoader());
   //设置图片集合
   banner.setImages(images);
   //banner设置方法全部调用完毕时最后调用
   banner.start();
}
--------------------------详细使用-------------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
   super .onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   Banner banner = (Banner) findViewById(R.id.banner);
   //设置banner样式
   banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
   //设置图片加载器
   banner.setImageLoader( new GlideImageLoader());
   //设置图片集合
   banner.setImages(images);
   //设置banner动画效果
   banner.setBannerAnimation(Transformer.DepthPage);
   //设置标题集合(当banner样式有显示title时)
   banner.setBannerTitles(titles);
   //设置自动轮播,默认为true
   banner.isAutoPlay( true );
   //设置轮播时间
   banner.setDelayTime( 1500 );
   //设置指示器位置(当banner模式中有指示器时)
   banner.setIndicatorGravity(BannerConfig.CENTER);
   //banner设置方法全部调用完毕时最后调用
   banner.start();
}
-----------------当然如果你想偷下懒也可以这么用--------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
   super .onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   Banner banner = (Banner) findViewById(R.id.banner);
   banner.setImages(images).setImageLoader( new GlideImageLoader()).start();
}

Step 6.(可选)增加体验

?
1
2
3
4
5
6
7
8
9
10
11
12
13
//如果你需要考虑更好的体验,可以这么操作
@Override
protected void onStart() {
   super .onStart();
   //开始轮播
   banner.startAutoPlay();
}
@Override
protected void onStop() {
   super .onStop();
   //结束轮播
   banner.stopAutoPlay();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值