登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

GalleryPick图片选择器

[复制链接]
来自: MrlLee 分类: Android精品源码 上传时间: 2016-4-1 15:31:36
Tag:GalleryPick 图片 选择器

项目介绍:

ImageSelector 简介



Android自定义相册,实现了拍照、图片选择(单选/多选)、ImageLoader无绑定 任由开发者选择



GitHub 项目地址



多选
截图



Download Apk



ImageSelector 优点




  • UI重改

  • 所有功能可配置

  • 解决OOM情况

  • 图片多选、单选

  • 支持裁剪功能



Gif展示



单选截图
多选



版本说明



1.3.0




  • 合并 由 xxxifan 提供的优化方案,配置只需要配置一次,需要用的地方可以直接 open。

  • 修改如果手机中没有图片,选择图片夹闪退的问题

  • 隐藏调用该图片选择器时,所拍摄的照片和裁剪的图片,改善选择图片时存在的垃圾图片。

  • 修改最低版本兼容,由原来的 API 15 降到 API 14,兼容 Android 4.0 以上系统。



使用说明



步骤一:



通过Gradle抓取



dependencies {
compile 'com.yancy.imageselector:imageselector:1.3.3'
}


步骤二:



[Java] 查看源文件 复制代码
AndroidManifest.xml
中 添加 如下权限



 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


步骤三:



创建 图片加载器 (其中可以按照 喜好 使用不同的 第三方图片加载框架 以下为Glide示例)


public class GlideLoader implements com.yancy.imageselector.ImageLoader {

@Override
public void displayImage(Context context, String path, ImageView imageView) {
Glide.with(context)
.load(path)
.placeholder(com.yancy.imageselector.R.mipmap.imageselector_photo)
.centerCrop()
.into(imageView);
}

}


步骤四:



配置
[Java] 查看源文件 复制代码
ImageConfig



UI 视图配置


 ImageConfig imageConfig
= new ImageConfig.Builder(new GlideLoader())
// 如果在 4.4 以上,则修改状态栏颜色 (默认黑色)
.steepToolBarColor(getResources().getColor(R.color.blue))
// 标题的背景颜色 (默认黑色)
.titleBgColor(getResources().getColor(R.color.blue))
// 提交按钮字体的颜色 (默认白色)
.titleSubmitTextColor(getResources().getColor(R.color.white))
// 标题颜色 (默认白色)
.titleTextColor(getResources().getColor(R.color.white))
.build();


多选


 ImageConfig imageConfig
= new ImageConfig.Builder(new GlideLoader())
.steepToolBarColor(getResources().getColor(R.color.blue))
.titleBgColor(getResources().getColor(R.color.blue))
.titleSubmitTextColor(getResources().getColor(R.color.white))
.titleTextColor(getResources().getColor(R.color.white))
// 开启多选 (默认为多选)
.mutiSelect()
// 多选时的最大数量 (默认 9 张)
.mutiSelectMaxSize(9)
// 开启拍照功能 (默认关闭)
.showCamera()
// 已选择的图片路径
.pathList(path)
// 拍照后存放的图片路径(默认 /temp/picture) (会自动创建)
.filePath("/ImageSelector/Pictures")
.build();


ImageSelector.open(MainActivity.this, imageConfig); // 开启图片选择器


单选


 ImageConfig imageConfig
= new ImageConfig.Builder(new GlideLoader())
.steepToolBarColor(getResources().getColor(R.color.blue))
.titleBgColor(getResources().getColor(R.color.blue))
.titleSubmitTextColor(getResources().getColor(R.color.white))
.titleTextColor(getResources().getColor(R.color.white))
// 开启单选 (默认为多选)
.singleSelect()
// 开启拍照功能 (默认关闭)
.showCamera()
// 拍照后存放的图片路径(默认 /temp/picture) (会自动创建)
.filePath("/ImageSelector/Pictures")
.build();


ImageSelector.open(MainActivity.this, imageConfig); // 开启图片选择器


单选1:1 便捷截图


 ImageConfig imageConfig
= new ImageConfig.Builder(new GlideLoader())
.steepToolBarColor(getResources().getColor(R.color.blue))
.titleBgColor(getResources().getColor(R.color.blue))
.titleSubmitTextColor(getResources().getColor(R.color.white))
.titleTextColor(getResources().getColor(R.color.white))
// (截图默认配置:关闭 比例 1:1 输出分辨率 500*500)
.crop()
// 开启单选 (默认为多选)
.singleSelect()
// 开启拍照功能 (默认关闭)
.showCamera()
// 拍照后存放的图片路径(默认 /temp/picture) (会自动创建)
.filePath("/ImageSelector/Pictures")
.build();


ImageSelector.open(MainActivity.this, imageConfig); // 开启图片选择器


单选自定义截图


 ImageConfig imageConfig
= new ImageConfig.Builder(new GlideLoader())
.steepToolBarColor(getResources().getColor(R.color.blue))
.titleBgColor(getResources().getColor(R.color.blue))
.titleSubmitTextColor(getResources().getColor(R.color.white))
.titleTextColor(getResources().getColor(R.color.white))
// (截图默认配置:关闭 比例 1:1 输出分辨率 500*500)
.crop(1, 2, 500, 1000)
// 开启单选 (默认为多选)
.singleSelect()
// 开启拍照功能 (默认关闭)
.showCamera()
// 拍照后存放的图片路径(默认 /temp/picture) (会自动创建)
.filePath("/ImageSelector/Pictures")
.build();


ImageSelector.open(MainActivity.this, imageConfig); // 开启图片选择器


步骤五:



[Java] 查看源文件 复制代码
onActivityResult
中获取选中的照片路径 数组 :



@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ImageSelector.IMAGE_REQUEST_CODE && resultCode == RESULT_OK && data != null) {

// Get Image Path List
List<String> pathList = data.getStringArrayListExtra(ImageSelectorActivity.EXTRA_RESULT);

for (String path : pathList) {
Log.i("ImagePathList", path);
}
}
}


代码示例



历史版本说明



1.3.0




  • 合并 由 xxxifan 提供的优化方案,现在在fragment 中也可以进行调用

  • 修改如果手机中没有图片,选择图片夹闪退的问题

  • 隐藏调用该图片选择器时,所拍摄的照片和裁剪的图片,改善选择图片时存在的垃圾图片。

  • 修改最低版本兼容,由原来的 API 15 降到 API 14,兼容 Android 4.0 以上系统。



1.2.0




  • 新增截图功能



1.1.1




  • 修改APP名被覆盖的bug



1.1.0




  • 优化代码,开放部分UI接口



1.0.0




  • 选择图片功能



相关源码推荐:

我来说两句
*滑动验证:
所有评论(25)
拉拉爱 2016-4-7 13:48:53
楼主威武啊,安卓巴士有你更给力!
回复
Android2号 2016-4-7 14:07:36
感谢分享,安卓巴士有你更精彩:)
回复
18814186745 2016-4-10 16:32:48
我只是路过打酱油的。
回复
18814186745 2016-4-10 17:38:49
很给力,安卓巴士有你更精彩!
回复
a625699606 2016-5-12 10:33:37
楼主威武啊,安卓巴士有你更给力!
回复
wanxnd891221 2016-5-18 17:25:55
精华内容,楼主V5!
回复
无情风91 2016-5-25 01:27:49
楼主威武啊,安卓巴士有你更给力!
回复
1234下一页
提取码:  下载次数:30 状态:已购或VIP 售价:10(原价:10)金钱 下载权限:限制会员 
1227 1 30
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,769657487

如何获得代码达人称号

如何成为签约作者

联系我们
关闭
合作电话:
13802416937
Email:
[email protected]
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表