Android高仿微信图片选择功能的PhotoPicker
类似于微信修改头像的功能基本上每个app都会有,以前公司开发的项目就有修改头像的功能,但是用的Android系统自带的图片选择器。用Android系统的图片选择器有个好处就是稳定,不会有什么问题。但也有它的缺点,比如不可定制,我们想要修改一下符合自己app的风格无法做到。
既然大部分app都要用到图片选择器,为啥我不自己写一个呢?难不成每次都用系统自带的?那显得太没水平。所以,我就有了一个自己编写一个图片选择器的想法,以后只要有项目需要这个功能,直接拿来用就行了,这多爽!
其实github上也有很多大牛写的图片选择开源库,虽然大家一直都推崇不要重复造轮子这个观念,但是我却不这么认为,同样是轮子,也有不同价格、不同品牌的呢,难不成有了一个制造商生产了轮子,其他厂商就没必要做了吗?所以说,重复造轮子也是有意义的,至少你知道轮子是怎么造的。
好了,闲话不多说,先看看效果图:
1、图片选择效果

2、弹出文件夹选择效果:

这里博主还是只模范微信的头像选择功能,也就是单张图片的选取。而微信发送图片消息的多张图片选择,暂时还没有做。主要是博主现在要学习C++,要快速熟悉cocos2dx的开发,没有时间去弄。后面有时间会把多图选择功能加上。
博主测试3部手机,vivo x3s 826张图片、联想A800 1231张、中兴V955 762张均为出现OOM,且图片加载很流畅。由于测试覆盖率不够,程序难免还会存在一些bug,如果有还望各位不吝指正,谢谢!
这里代码我就不贴了,需要的直接去博主github上fork源码,欢迎fork和star。
源码地址:https://github.com/liuling07/PhotoPicker
原创内容,转载请注明出处:http://www.liuling123.com/2015/11/android-photo-picker.html
Android高仿微信图片选择功能的PhotoPicker的更多相关文章
- [转]Android 超高仿微信图片选择器 图片该这么加载
快速加载本地图片缩略图的方法: 原文地址:Android 超高仿微信图片选择器 图片该这么加载 其示例代码下载: 仿微信图片选择器 ImageLoader
- Android高仿微信(一)——如何消除启动时的白屏
默认情况下,APP启动时会先把屏幕刷成白色,然后才绘制第一个Activity中的View,这两个步骤之间的延迟会造成启动后先看到白屏(时间大概为1秒左右).时间不长,但是我们也看到,一般的APP时不存 ...
- Android 高仿微信头像截取 打造不一样的自定义控件
转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/39761281,本文出自:[张鸿洋的博客] 1.概述 前面已经写了关于检测手势识别 ...
- android高仿微信拍照、多选、预览、删除(去除相片)相冊功能
先声明授人与鱼不如授人与渔,仅仅能提供一个思路,当然须要源代码的同学能够私下有偿问我要源代码:QQ:508181017 工作了将近三年时间了,一直没正儿八经的研究系统自带的相冊和拍照,这回来个高仿微信 ...
- Android 超高仿微信图片选择器 图片该这么加载
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39943731,本文出自:[张鸿洋的博客] 1.概述 关于手机图片加载器,在当今像 ...
- Android 超高仿微信图片选择器 图片该这么载入
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39943731,本文出自:[张鸿洋的博客] 1.概述 关于手机图片载入器,在当今像 ...
- Android 高仿微信语音聊天页面高斯模糊效果
目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...
- Android 高仿微信实时聊天 基于百度云推送
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天终于有幸利用百 ...
- Android 高仿微信即时聊天 百度云为基础的推
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天最终有幸利用百 ...
随机推荐
- 重写,重载,super,this,继承
重写:overwrite/override 子类根据需要对从基类继承来的方法进行重写. 重写方法必须与被重写方法有相同的方法名,参数列表和返回类型. 重写方法不能使用比被重写方法更严格的访问权限. 重 ...
- poj3050
#include <stdio.h> #include <set> #include <string> using namespace std; int a[6]; ...
- iOS支持图文混排的按钮(UIButton)
创建UIButton子类 直接上代码了 .h文件 创建UIButton子类 直接上代码了 .h文件 #import <UIKit/UIKit.h> @interface GraphicBt ...
- jquery 获取radio选中的值
如下案例:常用方法 1.获取选中值,三种方法都可以: $('input:radio:checked').val(): $("input[type='radio']:checked" ...
- 1296: [SCOI2009]粉刷匠
Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...
- (转)四种常见的 POST 提交数据方式
四种常见的 POST 提交数据方式(转自:https://imququ.com/post/four-ways-to-post-data-in-http.html) HTTP/1.1 协议规定的 HTT ...
- 【洛谷P1969】积木大赛
递增区间内累计增量 #include<cstdio> #include<cstring> using namespace std; int a,h,n,ans; int mai ...
- 斯坦福第十一课:机器学习系统的设计(Machine Learning System Design)
11.1 首先要做什么 11.2 误差分析 11.3 类偏斜的误差度量 11.4 查全率和查准率之间的权衡 11.5 机器学习的数据 11.1 首先要做什么 在接下来的视频中,我将谈到机器 ...
- horizon 修改local的logging 配置
再部署完horizon的开发环境后,首先要做的就是修改下logging的输出. 我用的开发软件是pycharm, 所以,为了方便在 console里看到输出.需要在 /home/geiao/repo/ ...
- python 传值引用和传参引用
调用同事的函数,传入goods_list,获取商品信息,然后将商品信息与goods_list的信息进行匹配,合并. 但是同事返回数据的同时改变了我传入的参数,goods_list.相当于传参引用,也就 ...