| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android格子视图的另外一种实现方式之Images3LinearLayout(9宫格/九宫格) -> 正文阅读 |
|
[移动开发]Android格子视图的另外一种实现方式之Images3LinearLayout(9宫格/九宫格) |
宫格视图LatticeApp让开发再变得简单些!文章最后有demo下载地址 这一篇讲的是LatticeApp最后一个控件Images3LinearLayout,也是这几个控件中代码量最多的一个控件了, Images3LinearLayout控件可以分为两部分来说,第一部分就是它的编辑功能,第二部分就是展示功能、类似微信朋友圈宫格图片展示,如下图所示: 其中编辑功能包括增加、删除、拖拽删除、移动切换(暂未实现),预览功能包括设置每一行最多展示的图片数量、缩放控件的比例、图片的展示类型、图片间距设置等等… 这样就给到我们高度自定义的空间,什么12宫格、9宫格、4宫格,都可以展示。 只要给定imageTextParams.maxLine就可以了。 imageTextParams.maxLine = 2; 如下图所展示的就是4宫格样式。 配置项首先看配置项Images3Params继承于LatticeView.ImageTextParams,其中参数urls是图片路径,它可以是本地图片路径或者是网络路径,width是必须设置的参数,否则控件无法显示,代码注释中有详细描述。 LatticeView.ImageTextParams中还定义了一个图片加载器这个泛型,这个图片加载器我demo中使用的是 Glide,可以选择自己熟悉的图片加载框架。 图片展示下面是展示图片实现方法,需要实现displayImage方法与displayDrawableImage两个方法,displayImage是网络与文件图片展示、displayDrawableImage本地图片展示。 需要自己在项目中实现。GlideImageLoader最后要实例化,赋值给配置项中的imageLoader参数。
好啦,以上代码就实现的9宫格图片的展示。 那么编辑呢, 怎么操作。我们看下列代码。 切换编辑模式在配置项中我们看到了这样一行代码:
什么意思? 我们接着看EditType这个枚举。
原来枚举EditType中定义了5中类型。 那么改变配置项中的参数就可以吗? 我们看代码中提供了一个这样的方法。
enableEditModel()有两个参数,第一个就是EditType枚举,传入你想要的操作模式即可。 第二个参数是一个图片数组参数,看代码的注释是这样说的 下面看一下几种编辑模式的切换方法。 删除模式
添加模式
拖拽删除模式
全编辑模式
预览模式
如果需要在几种模式中来回切换,直接调image3Layout.enableEditModel即可。 绑定事件
看看回调方法有哪些。onDeleteClick删除回调,onClick点击回调,这个方法一般用于启动预览图片窗口,onLongClick 长按回调。这几个回调的参数是一样的,urls是路径数组,position是操作的位置。
onClickEndView()是啥,为什么还要有一个返回值呢? 这个方法的意思是点击了视图中最后个view, 但是他的触发是有条件的, 我们看代码。 点击的是最后一个,而且必须是数值形态的路径(项目中的图片),并且满足添加模式与全编辑模式的两个参数才会被回调。 onClickEndView()的用途是什么?一般用于启动我们的图片选择器。它的返回值决定了onClick()方法是否被回调,是否要继续向下分发事件。看代码
插入一张图片到指定位置
如果在ListView或者RecyclerView的adapter中使用,出现图片错乱的情况, 请先调用removeViews()方法。 在布局文件中的引用
用法(引用)在app->build.gradle文件下 -> dependencies中引入
在app->build.gradle文件下 -> android 中加入如下代码
为了能顺利加载成功,我们需要做如下操作,在根目录build.gradle文件下->buildscript下加入如下代码
在根目录build.gradle文件根目录下加入如下代码
结束语: 在androidx上也能正常运行该组件,这个组件一共有4个视图,这篇讲的是9宫格图片展示器/编辑器 Images3LinearLayout。 LatticeApp组件讲完了,欢迎大家下载使用,如果您觉得还行,请给我个star 谢谢! 整理了一下讲这个组件的其它文章,有兴趣的同学可以看看。 第一篇Android格子视图的另外一种实现之LatticeView视图 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/11 21:32:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |