Android 超高仿微信图片多选、单选,图片剪切,图片预览,拍照等功能
来源:互联网 发布:淘宝评价管理怎么p图 编辑:程序博客网 时间:2024/06/11 11:03
github地址:
https://github.com/ioneday/ImageSelector
实现了微信图片选择的所有功能
- 单选、多选
- 单选,没有预览功能。
- 多选,可以控制最大 选择图片数量
- 拍照
- 解决了三星拍照横屏的bug
- 关闭拍照后,第一个item将不显示拍照选项
- 预览
- 开启预览功能后,点击图片或右下角预览进入预览界面。
- 关闭后,点击图片为选择功能
- 进入预览界面后,依然可以,选择或取消选择
- 剪切
- 只有单选模式下,才能打开剪切功能。
- 默认只能剪切正方形,可自定义
实现效果:
微信相似度 95%
代码结构
快速开始
1) 添加以下依赖
dependencies { compile 'com.android.support:recyclerview-v7:22.2.1' compile 'com.github.bumptech.glide:glide:3.6.1' compile 'com.commit451:PhotoView:1.2.4' compile 'com.isseiaoki:simplecropview:1.0.13' compile 'com.yongchun:com.yongchun.imageselector:1.1.0'}
2) 在 AndroidManifest.xml 添加权限,并注册相关Activity
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><activity android:name="com.yongchun.library.view.ImageSelectorActivity"/><activity android:name="com.yongchun.library.view.ImagePreviewActivity"/><activity android:name="com.yongchun.library.view.ImageCropActivity"/>
3) 设置相关必要参数
ImageSelectorActivity.start(MainActivity.this, maxSelectNum, mode, isShow,isPreview,isCrop);
上面的代码等同于:
public static void start(Activity activity, int maxSelectNum, int mode, boolean isShow, boolean enablePreview, boolean enableCrop) { Intent intent = new Intent(activity, ImageSelectorActivity.class); intent.putExtra(EXTRA_MAX_SELECT_NUM, maxSelectNum); intent.putExtra(EXTRA_SELECT_MODE, mode); intent.putExtra(EXTRA_SHOW_CAMERA, isShow); intent.putExtra(EXTRA_ENABLE_PREVIEW, enablePreview); intent.putExtra(EXTRA_ENABLE_CROP, enableCrop); activity.startActivityForResult(intent, REQUEST_IMAGE);}
4) 在 onActivityResult 回调中接收选择的图片
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode == RESULT_OK && requestCode == ImageSelectorActivity.REQUEST_IMAGE){ ArrayList<String> images = (ArrayList<String>) data.getSerializableExtra(ImageSelectorActivity.REQUEST_OUTPUT); // do something }}
使用的第三方库有:
Glide(快速加载图片,不会卡顿,不会OOM)
PhotoView(双击放大图片,旋转图片等功能)
simplecropview(自定义剪切比例,尺寸)
欢迎Star、Fork
github地址:
https://github.com/ioneday/ImageSelector
3 0
- Android 超高仿微信图片多选、单选,图片剪切,图片预览,拍照等功能
- android 拍照剪切图片
- android 拍照 图片剪切
- 单选相册图片后剪切功能
- 安卓选择图片上传功能【支持多选拍照预览等】
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等 .
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- 获取相册图片,和拍照获取图片,本来很简单的东西,最后整了好久,这次写给博客,总结一下
- 修饰 C++ 成员函数的两种关键字总结
- 也谈“中断”
- Week6-6Language Modelling3
- 最大熵模型与分类器
- Android 超高仿微信图片多选、单选,图片剪切,图片预览,拍照等功能
- vs自动生成方法存根(Stub)
- Reverse_iterator的使用
- javaWeb中getContextPath()等方法获取路径的区别
- Java JUnit的使用
- C# Movie Player
- OHAttributedLabel
- 数据结构小结(八)图
- Java程序数据库连接失败问题