Step 1.依赖banner

Gradle

dependencies{

compile 'com.youth.banner:banner:2.1.0'

}

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

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

!!!此步骤可以省略,可以直接在Activity或者Fragment中new Banner();

有时候banner不显示  是因为height要设置一个固定值

xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/banner"

android:layout_width="match_parent"

android:layout_height="高度自己设置" />

1.简单的图片展示

public class IMGBean {

public IMGBean(int imageRes) {

this.imageRes = imageRes;

}

public int imageRes;

public int getImageRes() {

return imageRes;

}

public void setImageRes(int imageRes) {

this.imageRes = imageRes;

}

public static List getData() {

List list = new ArrayList<>();

list.add(new IMGBean(R.mipmap.fta_ad1));

list.add(new IMGBean(R.mipmap.fta_ad2));

return list;

}

}

private void initBanner() {

mBanner.setAdapter(new BannerImageAdapter(IMGBean.getData()) {

@Override

public void onBindView(BannerImageHolder holder, IMGBean data, int position, int size) {

//图片加载自己实现

RoundedCorners roundedCorners = new RoundedCorners(10);

RequestOptions options = RequestOptions.bitmapTransform(roundedCorners);

Glide.with(holder.itemView).load(data.imageRes).apply(options).into(holder.imageView);

}

})

.addBannerLifecycleObserver(this)//添加生命周期观察者

.setIndicator(new CircleIndicator(getActivity()));

//更多使用方法仔细阅读文档,或者查看demo

}

2.网络获取的List 数据结合使用  我这里用MMM.BBB代替JavaBean对象

~~1.定义Adapter

public class MyBannerAdapter extends BannerAdapter {

public MyBannerAdapter(List datas) {

super(datas);

}

@Override

public BannerViewHolder onCreateHolder(ViewGroup parent, int viewType) {

ImageView imageView = new ImageView(parent.getContext());

//注意,必须设置为match_parent,这个是viewpager2强制要求的

ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(

ViewGroup.LayoutParams.MATCH_PARENT,

ViewGroup.LayoutParams.MATCH_PARENT);

imageView.setLayoutParams(params);

imageView.setScaleType(ImageView.ScaleType.FIT_XY);

return new BannerViewHolder(imageView);

}

@Override

public void onBindView(BannerViewHolder holder, MMM.BBB data, int position, int size) {

RoundedCorners roundedCorners = new RoundedCorners(10);

RequestOptions options = RequestOptions.bitmapTransform(roundedCorners);

Glide.with(holder.itemView).load(data.getOguyEkaJ()).apply(options).into(holder.imageView);

// holder.imageView.setImageResource(data.getOguyEkaJ());

//设置点击事件

holder.imageView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Log.e("tttttttt",data.getXODHXxeB()+"");

}

});

}

class BannerViewHolder extends RecyclerView.ViewHolder {

ImageView imageView;

public BannerViewHolder(@NonNull ImageView view) {

super(view);

this.imageView = view;

}

}

}

2.设置

mBanner.setAdapter(new MyBannerAdapter(data))

.addBannerLifecycleObserver(this)//添加生命周期观察者

.setIndicator(new CircleIndicator(getActivity()));

本文地址:https://blog.csdn.net/ulddfhv/article/details/109365907

android banner设置图片比例,Banner基本使用 2.1.0相关推荐

  1. jquery设置图片比例

    phtml: <img src="" width="100%" height="" proportion="<?php ...

  2. android怎么设置图片缩放比例,Android按比例缩放图片

    Point outSize = new Point(showBigIvPic.getWidth(),showBigIvPic.getHeight());// 显示区域的高宽 // 使用图片的缩放比例计 ...

  3. Android ImageView设置图片原理

    关于图片和ImageView,其实有更多可以介绍的,比如在解析图片前获得图片的宽高,用来做图片适配:比如等比例缩小图片,以减小内存占用:比如图片旋转效果等等. 第一个问题和第二个问题: BitmapF ...

  4. android textview设置图片大小,修改Textview内图片文字间距和图片大小

    1-1 布局 对于上面的这种布局,我们一般采用的一个ViewGroup嵌入一个ImageView和一个TextView.如下所示: android:id="@+id/layout_quest ...

  5. android xml 设置图片,android 的几种图片效果xml写法

    1.按下时时显示不同的按钮 2.移动 android:fromXDelta="0" android:toXDelta="200" android:fromYDe ...

  6. sqliteconnection中的version一旦比先前的大,则执行onUpgrade;模仿疯狂猜图游戏;matrix设置图片比例

    图片和对应文本保存在assets中,项目一启动写到sqlite中,可以讲初始化数据写在util中,启动时候判断下,如果加载成功过了,第二次可以不用加载,这里为了方便写在一起 import java.i ...

  7. android banner加载布局,Android知识点之图片轮播控件Banner

    Rate this post 在我们来发Android项目时,经常有图片或者广告的轮播功能的需求,下面将介绍一款Android开发时使用的开源图片轮播控件Banner,同时按序讲解如何使用配置这款控件 ...

  8. 最新Banner(图片轮播)配置使用

    Step 1.依赖banner Gradle dependencies{compile 'com.youth.banner:banner:1.4.9' //最新版本 } 或者引用本地lib compi ...

  9. Banner的图片的指示器和标题

    依赖的导入 implementation 'com.youth.banner:banner:1.4.10' Xml <com.youth.banner.Bannerandroid:id=&quo ...

  10. Android幻灯片式图片浏览器

    今天我们通过使用Android提供给我们的现有空间Gallery和ImageSwitcher来实现一个幻灯片式的图片浏览器. (1)首先我们新建一个工程,修改主布局文件activity_main.xm ...

最新文章

  1. 尘埃落定!苹果 10 亿美元入局 5G,Intel 挥别 9 年基带业务
  2. 如何花钱让2000元的月收入工资价值最大化?
  3. 数据库 'SqlPersistenceService' 的版本为 655,无法打开。此服务器支持 611 版及更低版...
  4. [算法 笔记]堆排序(续)
  5. 如何查询oracle最近报警信息,教你怎样用Oracle方便地查看报警日志错误
  6. python 字典列表指定key排序
  7. 互联网创业是没有什么好计划的
  8. 清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法
  9. 打开SQlite数据库
  10. 我的家乡河北涿州岐沟村(岐沟关)
  11. 7.2.5 dps 测试软件,7.2.5冰DK萨墓六大DPS饰品测试:属性机制及分析
  12. 计算机408专业考研真题,2021年计算机考研408历年真题及答案
  13. java分发_【Java】用注解实现分发器
  14. CRM系统创建营销活动
  15. mysql中的declare_sql中declare是什么意思
  16. Tableau 快速表计算 显示百分比 / 累计走势
  17. Verify the connector‘s configuration, identify and stop any process that‘s listening on port 80, or
  18. 牛顿下山法C++实现
  19. 一文梳理2020年大热的对比学习模型
  20. 【前端实例代码】霓虹灯按钮动画效果悬停| html CSS特效 惊艳| 前端开发 网页制作 基础入门教程

热门文章

  1. KMplayer字幕
  2. 一文读大厂微服务水平
  3. IDC最新中国BI市场报告,永洪科技等中国厂商领跑
  4. 优思学院|什么是六西格玛(6sigma)?六西格玛概念解释
  5. 基于Neo4j实现数据血缘管理
  6. 苹果mov格式的视频怎么转换mp4?
  7. 统一网关Gateway、路由断言工厂、路由过滤器及跨域问题处理
  8. 求职互联网技术岗应届生面试必备技巧分享
  9. Linux系统编程-定时器(闹钟)函数alarm的使用,以及SIGALARM信号的处理
  10. mysql报表服务器配置_Power Bi报表服务器安装及数据库配置方法