android 高仿朋友圈title,Android之高仿微信朋友圈图片上传

2c7dada4761d975f0bd60e5a71f82b4b.gif

碰到过很多上传图片的功能,大多都是要求是仿微信,不论是单图还是多图,更不知道是出于什么原因要去仿微信,总之,作为开发人员,很无奈,今天就把这种需求总结出来了,方便以后使用,下面就开始撸......

一、效果图

由于gif格式太大了,这里只能将就看看截图了,想看真机效果的就要查看demo了。

90713df6fa3d876dbfb0a1acb4cacda9.png

说明:初始界面,只显示了一张“+”号图片,此图片是自己随便找的,不要在意这种细节。

6831027c2f3208cb7d5d30616258905e.png

说明:点击“+”号打开的界面,默认显示图片最多的一个文件夹;底部可切换图片文件夹。这里可以设置单选模式一级是否有相机功能。

b9c366eed156f34cd28fe728a9225b41.png

说明:切换图片文件夹截图。

4ce88a5245818ace48bd4177e7860df4.png

说明:选中效果,右上角有当前选中的张数展示,每次最多支持选9张。

12d55b8234916d72ecd5dce64e0beef7.png

说明:上一界面确定后,可见由于张数没有够9张,所以“+”号还是显示的,可继续点击添加。

说明:添加9张时的截图,此时不显示“+”号。

a16c95eaf136f10564b82f4e981404ff.png

说明:图片浏览界面,提供删除功能。左上角显示当前总共张数和删除数量变化。可以左右滑动预览。此处对大图进行了压缩处理。

二、思路

首页负责显示每次选择的图片,在相册列表拿到的图片集(List),包含的是图片的地址,在首页的onActivityResult()方法中接收,并将其转换成图片添加到我们的首页负责显示的GridView数据集中,并做了以下两个工作,①压缩处理;②判断显示最后一个“+”号图片(具体逻辑看代码)。预览时,对于删除操作,将每次预览的图片集存为一个临时集合,删除后返回首界面刷新我们的GridView数据集。

三、代码

1,异步获取本地图片核心代码

d8147ed71711666c323b84f8f0ab9f96.png

说明:选择图片时,本地图片数量可能会很多,所以需要异步处理。

2,预览删除功能核心代码

f5b6269793ab4ada4166b1f21835bb70.png

说明:当完全删除时自动回到首页界面,如果没有完全删除,可点击完成再回到首页,其实是一样的,可根须需求修改。预览界面左上角显示当前总张数和总共可选择的数量。

3,自定义ViewPager

2410503d0356545a2ee8f8d9e105c9e0.png

说明:处理触摸事件。因为图片支持双击放大和缩小功能(在图片的ScaleType属性设置为矩阵时有效)。

4,要看完整代码就在公众号里找链接,这里不贴出来了。

code小生:

完整代码已上传至github,欢迎stars,链接在公众号里。有问题可留言,或者加公众号里给出的群联系。

9cee1d77183959220161f330f01e441e.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值