Android中banner的使用步骤

发布时间 - 2026-01-11 02:04:25    点击率:

Step 1.依赖banner

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

或者引用本地lib

compile project(':banner')

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

<!-- 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,可以设置自定义属性

!!!此步骤可以省略,直接在Activity或者Fragment中new Banner();
<com.youth.banner.Banner
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:id="@+id/banner"
  android:layout_width="match_parent"
  android:layout_height="高度自己设置" />

Step 4.重写图片加载器

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

--------------------------简单使用-------------------------------
@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.(可选)增加体验

//如果你需要考虑更好的体验,可以这么操作
@Override
protected void onStart() {
  super.onStart();
  //开始轮播
  banner.startAutoPlay();
}
@Override
protected void onStop() {
  super.onStop();
  //结束轮播
  banner.stopAutoPlay();
}

以上所述是小编给大家介绍的Android中banner的使用步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # banner的使用  # Android ViewPager实现无限循环轮播广告位Banner效果  # Android自定义封装banner组件  # Android 中Banner的使用详解  # Android convinientbanner顶部广告轮播控件使用详解  # Android UI实现广告Banner轮播效果  # Android组件banner实现左右滑屏效果  # Android ViewPager实现Banner循环播放  # Android自动播放Banner图片轮播效果  # Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)  # android实现banner轮播图无限轮播效果  # 加载  # 自定义  # 重写  # 小编  # 的是  # 如果你  # 在此  # 你也  # 可以用  # 中有  # 你想  # 就行  # 给大家  # 几种  # 可选  # 你到底  # 最新版本  # 所述  # 给我留言  # 转成 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何实现javascript表单验证_正则表达式有哪些实用技巧  手机软键盘弹出时影响布局的解决方法  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel Fortify是什么,和Jetstream有什么关系  高端智能建站公司优选:品牌定制与SEO优化一站式服务  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  实例解析angularjs的filter过滤器  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Android自定义listview布局实现上拉加载下拉刷新功能  LinuxCD持续部署教程_自动发布与回滚机制  详解vue.js组件化开发实践  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  javascript中对象的定义、使用以及对象和原型链操作小结  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  智能起名网站制作软件有哪些,制作logo的软件?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  JavaScript如何实现路由_前端路由原理是什么  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel如何记录自定义日志?(Log频道配置)  Java解压缩zip - 解压缩多个文件或文件夹实例  如何挑选优质建站一级代理提升网站排名?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  如何在IIS管理器中快速创建并配置网站?  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  Laravel如何实现多对多模型关联?(Eloquent教程)  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Python正则表达式进阶教程_复杂匹配与分组替换解析  网站制作软件免费下载安装,有哪些免费下载的软件网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Linux系统命令中screen命令详解  Laravel如何实现API资源集合?(Resource Collection教程)  三星、SK海力士获美批准:可向中国出口芯片制造设备