全网整合营销服务商

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

免费咨询热线: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  # 图片网格控件 


相关文章: 深圳防火门网站制作公司,深圳中天明防火门怎么编码?  专业公司网站制作公司,用什么语言做企业网站比较好?  b2c电商网站制作流程,b2c水平综合的电商平台?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  想学网站制作怎么学,建立一个网站要花费多少?  网站制作模板下载什么软件,ppt模板免费下载网站?  如何在腾讯云服务器上快速搭建个人网站?  如何在宝塔面板创建新站点?  如何在新浪SAE免费搭建个人博客?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Python多线程使用规范_线程安全解析【教程】  如何规划企业建站流程的关键步骤?  香港服务器部署网站为何提示未备案?  个人摄影网站制作流程,摄影爱好者都去什么网站?  Android自定义控件实现温度旋转按钮效果  如何用低价快速搭建高质量网站?  建站之星3.0如何解决常见操作问题?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何批量查询域名的建站时间记录?  C++如何编写函数模板?(泛型编程入门)  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  Android自定义listview布局实现上拉加载下拉刷新功能  如何快速搭建高效可靠的建站解决方案?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  定制建站是什么?如何实现个性化需求?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  家庭服务器如何搭建个人网站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  建站之星云端配置指南:模板选择与SEO优化一键生成  网站制作网站,深圳做网站哪家比较好?  建站之星CMS五站合一模板配置与SEO优化指南  长沙企业网站制作哪家好,长沙水业集团官方网站?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  开心动漫网站制作软件下载,十分开心动画为何停播?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何基于云服务器快速搭建个人网站?  大型企业网站制作流程,做网站需要注册公司吗?  网站制作报价单模板图片,小松挖机官方网站报价?  建站之星导航配置指南:自助建站与SEO优化全解析  湖北网站制作公司有哪些,湖北清能集团官网?  如何通过二级域名建站提升品牌影响力?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何快速辨别茅台真假?关键步骤解析  贸易公司网站制作流程,出口贸易网站设计怎么做?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  上海网站制作开发公司,上海买房比较好的网站有哪些?  微信小程序 input输入框控件详解及实例(多种示例)  宁波免费建站如何选择可靠模板与平台? 

您的项目需求

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