Banner的基本用法
1.导入依赖java
implementation'com.youth.banner:banner:1.4.10'
** 若是使用的是网络上的图片还要添加权限**android
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2.在XML文件中添加布局 com.youth.banner.Bannergit
<com.youth.banner.Banner android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="180dp"/>
3.获取Banner控件github
banner = findViewById(R.id.banner);
4.自定义图片加载类网络
static class GlideImageLoader extends ImageLoader{ @Override Public void displayImage(Context context,Object path,ImageView imageView){ //根据使用的图片加载框架使用相应的加载方法,使用图片加载框架要加入相应的依赖 //Picasso 加载图片 //依赖 implementation 'com.squareup.picasso:picasso:2.71828' Picasso.get().load(path).into(imageView); //用fresco加载图片 //依赖 implementation 'com.facebook.fresco:fresco:0.14.1' Uri uri = Uri.parse((String) path); imageView.setImageURI(uri); //Glide //依赖 implementation 'com.github.bumptech.glide:glide:4.11.0' Glide.with(context).load(path).into(imageView); } }
5.属性设置
//设置 图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(imageUrls);
//设置标题集合
banner.setBannerTitles(titles);
//设置切换时间
banner.setDelayTime(2000);
//设置指示器的位置,小点点,左中右
//banner.setIndicatorGravity(BannerConfig.RIGHT);
//设置内置样式,共有六种能够点入方法内逐一体验使用。
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
//监听事件
banner.setOnBannerListener(new OnBannerListener() {
@Override
public void OnBannerClick(int position) {
Toast.makeText(MainActivity.this,position+"",Toast.LENGTH_SHORT).show();
}
});
//启动轮播图
banner.start();
框架