全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 图片网格布局控件示例代码

项目地址:MultiPictureView

MultiPictureView是一个可以将多张图片以网格的方式显示的View,通过简单的接口实现烦人的布局,从此解放你的小手手

显示效果

  1. 支持设置图片数量上限
  2. 支持设置最多显示列数
  3. 支持动态布局和静态布局两种模式(见下图)
  4. 支持编辑模式和展示模式(编辑模式可以增加和删除图片)

布局方式

动态布局

静态布局

编辑/显示模式

如何使用

1. 在布局中声明

<com.goyourfly.multi_picture.MultiPictureView
  android:id="@+id/multi_image_view"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  app:editable="false"
  app:deleteDrawable="@drawable/..."
  app:addDrawable="@drawable/..."
  app:imageLayoutMode="DYNAMIC"
  app:max="9"
  app:space="6dp"
  app:span="3" />

参数 类型 说明 默认值
editable boolean 是否可编辑(添加和删除) false
span integer 每行最多显示多少 3
space dimension 图片间隔大小 8dp
max integer 最多显示多少张图片 9
imageLayoutMode integer 图片布局类型:动态(DYNAMIC=1)和静态(STATIC=2) STATIC=2
deleteDrawable drawable 删除图标 红色删除Drawable
addDrawable drawable 添加图片 灰色添加图片Drawable

2. 在代码中使用

2.1 初始化ImageLoader

MultiPictureView.setImageLoader(object : ImageLoader {
  override fun loadImage(image: ImageView, uri: Uri) {
    Vincent.with(image.context)
        .load(uri)
        .placeholder(R.drawable.ic_placeholder_loading)
        .error(R.drawable.ic_placeholder_loading)
        .into(image)
  }
})

2.2 绑定图片资源,设置事件监听

multiPictureView = (MultiPictureView) findViewById(R.id.multi_image_view);
// 设置图片资源
multiPictureView.setList(list:List<Uri>)
multiPictureView.setAddClickCallback(new MultiPictureView.AddClickCallback() {
  @Override
  public void onAddClick(View view) {
    // 添加图片回调...
  }
});
multiPictureView.setDeleteClickCallback(new MultiPictureView.DeleteClickCallback() {
  @Override
  public void onDeleted(View view,int index) {
    // 删除图片回调,如果不设置,默认删除图片...
  }
});
multiPictureView.setItemClickCallback(new MultiPictureView.ItemClickCallback() {
  @Override
  public void onItemClicked(View view,int index,ArrayList<Uri> uris) {
    // 图片被点击...
  }
});

依赖

第一步:添加到根build.gradle

allprojects {
  repositories {
    ...
    jcenter()
  }
}

第二步:在模块的build.gradle添加依赖

dependencies {
  compile 'com.github.goyourfly:multi_picture_view:latestVersion'
}

感谢

在Demo中使用了下面两个开源项目,感谢一哈,虽然第二个是我写的...大家要觉得好用,记得给我点个赞

Matisse

Vincent

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# android  # 图片网格控件 


相关文章: 矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  ,网站推广常用方法?  宝塔建站后网页无法访问如何解决?  如何选择网络建站服务器?高效建站必看指南  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  常州自助建站工具推荐:低成本搭建与模板选择技巧  h5网站制作工具有哪些,h5页面制作工具有哪些?  成都网站制作报价公司,成都工业用气开户费用?  如何在IIS中新建站点并解决端口绑定冲突?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何规划企业建站流程的关键步骤?  如何选购建站域名与空间?自助平台全解析  开心动漫网站制作软件下载,十分开心动画为何停播?  测试制作网站有哪些,测试性取向的权威测试或者网站?  Python如何创建带属性的XML节点  上海网站制作开发公司,上海买房比较好的网站有哪些?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  南宁网站建设制作定制,南宁网站建设可以定制吗?  如何通过智能用户系统一键生成高效建站方案?  青岛网站建设如何选择本地服务器?  如何通过VPS建站无需域名直接访问?  设计网站制作公司有哪些,制作网页教程?  名字制作网站免费,所有小说网站的名字?  如何构建满足综合性能需求的优质建站方案?  定制建站方案优化指南:企业官网开发与建站费用解析  免费视频制作网站,更新又快又好的免费电影网站?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  定制建站价位费用解析与套餐推荐全攻略  建站主机空间推荐 高性价比配置与快速部署方案解析  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何零成本快速生成个人自助网站?  如何用好域名打造高点击率的自主建站?  建站之星如何一键生成手机站?  建站之星安装模板失败:服务器环境不兼容?  如何挑选最适合建站的高性能VPS主机?  实现虚拟支付需哪些建站技术支撑?  建站与域名管理如何高效结合?  网站设计制作企业有哪些,抖音官网主页怎么设置?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  javascript中对象的定义、使用以及对象和原型链操作小结  建站之星如何通过成品分离优化网站效率?  已有域名如何快速搭建专属网站?  如何通过可视化优化提升建站效果?  如何快速查询网址的建站时间与历史轨迹?  微信小程序 input输入框控件详解及实例(多种示例)  如何高效完成自助建站业务培训?  如何快速搭建高效WAP手机网站吸引移动用户?  免费ppt制作网站,有没有值得推荐的免费PPT网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。