没有合适的资源?快使用搜索试试~ 我知道了~
DragGridLayout:可拖拽网格布局
共40个文件
xml:11个
png:10个
java:7个
需积分: 15 0 下载量 151 浏览量
2021-04-30
12:35:11
上传
评论
收藏 146KB ZIP 举报
温馨提示
效果 背景 在之前的项目中为了实现类似微信朋友圈的图片九宫格效果,手写了一个简单的网格控件,继承于 ViewGroup,后面因为准备做小组的技术分享,关于自定义控件的,所以就想把这个控件优化下,来作为这次分享的例子。自定义控件一般涉及测量、布局、绘制三大流程,再加上触摸事件的处理。之前的已完成的部分,已经包括了测量和布局,绘制暂时没有好想法,所以这次就想再加上触摸事件的处理。在使用微信发布朋友圈的时候,看到可以通过拖拽来重新排序图片,所以这次就加上可拖拽的功能。 思路 因为网格控件是位置是比较固定的,所以可以通过实时计算每个 Item 的位置,这里我们为了方便,所以缓存了每个 Item 的位置。当我们拖拽某个 Item 靠近新的位置时,如果新位置大于原来的位置,我们将原来位置到新位置的 Item 向后移动一位,反之,则向前移动一位。不知道这样解释是否清晰。 实现 首先我们要保存初始布局时的
资源推荐
资源详情
资源评论
收起资源包目录
DragGridLayout-master.zip (40个子文件)
DragGridLayout-master
.gitignore 1017B
app
.gitignore 7B
build.gradle 908B
src
androidTest
java
com
leo
android
draggridlayout
ExampleInstrumentedTest.java 744B
main
AndroidManifest.xml 792B
res
mipmap-xhdpi
ic_launcher_round.png 7KB
ic_launcher.png 4KB
mipmap-mdpi
ic_launcher_round.png 3KB
ic_launcher.png 2KB
layout
activity_main.xml 2KB
item_grid.xml 298B
mipmap-xxhdpi
ic_launcher_round.png 10KB
ic_launcher.png 6KB
drawable
ic_launcher_background.xml 5KB
mipmap-anydpi-v26
ic_launcher_round.xml 272B
ic_launcher.xml 272B
drawable-v24
ic_launcher_foreground.xml 2KB
mipmap-hdpi
ic_launcher_round.png 5KB
ic_launcher.png 3KB
mipmap-xxxhdpi
ic_launcher_round.png 15KB
ic_launcher.png 9KB
values
strings.xml 207B
attrs.xml 351B
colors.xml 254B
styles.xml 383B
java
com
leo
android
draggridlayout
MainActivity.java 4KB
GridItemClickListener.java 242B
GridAdapter.java 531B
DisplayUtils.java 478B
SimpleGridLayout.java 19KB
test
java
com
leo
android
draggridlayout
ExampleUnitTest.java 391B
proguard-rules.pro 751B
settings.gradle 15B
build.gradle 546B
gradlew 5KB
README.md 18KB
gradlew.bat 2KB
gradle.properties 726B
gradle
wrapper
gradle-wrapper.properties 230B
gradle-wrapper.jar 53KB
共 40 条
- 1
资源评论
柠小檬的雷诺
- 粉丝: 23
- 资源: 4597
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功