![](images/gallery_final_effect.png)
# GalleryFinal简介
Android自定义相册,实现了拍照、图片选择(单选/多选)、 裁剪(单/多裁剪)、旋转、ImageLoader无绑定任由开发者选择、功能可配置、主题样式可配置。GalleryFinal为你定制相册。
## 为什么要使用GalleryFinal?
* 拍照/选择图片倒立问题
* 市场上各种相机和图片浏览器泛滥导致各种异常问题
* 各种手机兼容性问题引起crash
* 系统Gallery App不能进行多选
* 系统拍照/选择图片/裁剪视乎不太好用
* 系统Gallery App不美观
* ……
** [简书文章](http://www.jianshu.com/p/48ddd6756b7a) **
###**注:1)、现支持所有主流的ImageLoader,包括Glide/Fresco/Picasso/UIL等,如果你觉得还不满足,欢迎在issues上提问。2)、本项目是基于SDK 23(6.0)系统编译的请开发者将targetSdkVersion改成23**
## 截图展示
Demo apk二维码地址:
![DEMO APK](images/gallery_final_qrcode.png)
![](images/functions.jpg)
![](images/gallery_selects.jpg) ![](images/gallery_edit.jpg)
# GalleryFinal使用方法
## 下载GalleryFinal
通过Gradle抓取:
```gradle
compile 'cn.finalteam:galleryfinal:1.4.8.7'
compile 'com.android.support:support-v4:23.1.1'
```
# Next Version
* 添加多选强制裁剪
* 图片分页查看
* 拍照自动纠正图片(自动旋转)
* 添加配置-配置图片压缩到指定大小后返回调用者
* 精简配置
* ……
# 1.4.8.4更新内容
* 解决fresco gif图片不显示问题
## 具体使用
1、通过gradle把GalleryFinal添加到你的项目里
2、在你的Application中添加配置GallerFinal
```java
//设置主题
//ThemeConfig.CYAN
ThemeConfig theme = new ThemeConfig.Builder()
...
.build();
//配置功能
FunctionConfig functionConfig = new FunctionConfig.Builder()
.setEnableCamera(true)
.setEnableEdit(true)
.setEnableCrop(true)
.setEnableRotate(true)
.setCropSquare(true)
.setEnablePreview(true)
...
.build();
//配置imageloader
ImageLoader imageloader = new UILImageLoader();
CoreConfig coreConfig = new CoreConfig.Builder(context, imageloader, theme)
.setDebug(BuildConfig.DEBUG)
.setFunctionConfig(functionConfig)
...
.build();
GalleryFinal.init(coreConfig);
```
3、选择图片加载器
* **UIL实现**
[使用UniversalImageLoader点这里](https://github.com/pengjianbo/GalleryFinal/blob/master/app/src/main/java/cn/finalteam/galleryfinal/sample/loader/UILImageLoader.java)
* **Glide实现**
[使用Glide点这里](https://github.com/pengjianbo/GalleryFinal/blob/master/app/src/main/java/cn/finalteam/galleryfinal/sample/loader/GlideImageLoader.java)
* **Picasso实现**
[使用picasso点这里](https://github.com/pengjianbo/GalleryFinal/blob/master/app/src/main/java/cn/finalteam/galleryfinal/sample/loader/PicassoImageLoader.java)
* **fresco实现**
[使用fresco点这里](https://github.com/pengjianbo/GalleryFinal/blob/master/app/src/main/java/cn/finalteam/galleryfinal/sample/loader/FrescoImageLoader.java)
* **xUtils3实现**
[使用xUtils点这里](https://github.com/pengjianbo/GalleryFinal/blob/master/app/src/main/java/cn/finalteam/galleryfinal/sample/loader/XUtilsImageLoader.java)
* **xUitls2实现**
[使用xUtils2点这里](https://github.com/pengjianbo/GalleryFinal/blob/master/app/src/main/java/cn/finalteam/galleryfinal/sample/loader/XUtils2ImageLoader.java)
* **自定义**
自定义步骤:
1)、实现ImageLoader接口
2)、在displayImage方法中实现图片加载,**这个需要注意的是一定要禁止缓存到本地和禁止缓存到内存**
3)、设置请求图片目标大小。displayImage方法中已经给出了width和height
4)、设置默认图和请求图片清晰度,建议把图片请求清晰度调整为Bitmap.Config.RGB_565避免出现OOM情况
* ……
4、启动GalleryFinal
在GalleryFinal 1.3.0版本中相册、拍照、裁剪和图片编辑功能可独立使用
**REQUEST_CODE_GALLERY 为请求码**
**functionConfig 为功能配置**
**mOnHanlderResultCallback 为请求回调**
* 单选打开相册
```java
GalleryFinal.openGallerySingle(REQUEST_CODE_GALLERY, mOnHanlderResultCallback);
//带配置
GalleryFinal.openGallerySingle(REQUEST_CODE_GALLERY, functionConfig, mOnHanlderResultCallback);
```
* 多选打开相册
```java
GalleryFinal.openGalleryMuti(REQUEST_CODE_GALLERY, mOnHanlderResultCallback);
//带配置
FunctionConfig config = new FunctionConfig.Builder(MainActivity.this)
.setMutiSelectMaxSize(8)
.build();
GalleryFinal.openGalleryMuti(REQUEST_CODE_GALLERY, functionConfig, mOnHanlderResultCallback);
```
* 使用拍照
```java
GalleryFinal.openCamera(REQUEST_CODE_CAMERA, mOnHanlderResultCallback);
//带配置
GalleryFinal.openCamera(REQUEST_CODE_CAMERA, functionConfig, mOnHanlderResultCallback);
```
* 使用裁剪
```java
GalleryFinal.openCrop(REQUEST_CODE_CROP, mOnHanlderResultCallback);
//带配置
GalleryFinal.openCrop(REQUEST_CODE_CROP, functionConfig, mOnHanlderResultCallback);
```
* 使用图片编辑
```java
GalleryFinal.openEdit(REQUEST_CODE_EDIT, mOnHanlderResultCallback);
//带配置
GalleryFinal.openEdit(REQUEST_CODE_EDIT, functionConfig, mOnHanlderResultCallback);
```
* **FunctionConfig Builder类说明**
```java
setMutiSelect(boolean)//配置是否多选
setMutiSelectMaxSize(int maxSize)//配置多选数量
setEnableEdit(boolean)//开启编辑功能
setEnableCrop(boolean)//开启裁剪功能
setEnableRotate(boolean)//开启旋转功能
setEnableCamera(boolean)//开启相机功能
setCropWidth(int width)//裁剪宽度
setCropHeight(int height)//裁剪高度
setCropSquare(boolean)//裁剪正方形
setSelected(List)//添加已选列表,只是在列表中默认呗选中不会过滤图片
setFilter(List list)//添加图片过滤,也就是不在GalleryFinal中显示
takePhotoFolter(File file)//配置拍照保存目录,不做配置的话默认是/sdcard/DCIM/GalleryFinal/
setRotateReplaceSource(boolean)//配置选择图片时是否替换原始图片,默认不替换
setCropReplaceSource(boolean)//配置裁剪图片时是否替换原始图片,默认不替换
setForceCrop(boolean)//启动强制裁剪功能,一进入编辑页面就开启图片裁剪,不需要用户手动点击裁剪,此功能只针对单选操作
setForceCropEdit(boolean)//在开启强制裁剪功能时是否可以对图片进行编辑(也就是是否显示旋转图标和拍照图标)
setEnablePreview(boolean)//是否开启预览功能
```
* **主题的配置**
1)、GalleryFinal默认主题为DEFAULT(深蓝色),还自带主题:DARK(黑色主题)、CYAN(蓝绿主题)、ORANGE(橙色主题)、GREEN(绿色主题)和TEAL(青绿色主题),当然也支持自定义主题(Custom Theme),在自定义主题中用户可以配置字体颜色、图标颜色、更换图标、和背景色
* 设置主题
1)、使用自定义主题
```java
GalleryTheme theme = new GalleryTheme.Builder()
.setTitleBarBgColor(Color.rgb(0xFF, 0x57, 0x22))
.setTitleBarTextColor(Color.BLACK)
.setTitleBarIconColor(Color.BLACK)
.setFabNornalColor(Color.RED)
.setFabPressedColor(Color.BLUE)
.setCheckNornalColor(Color.WHITE)
.setCheckSelectedColor(Color.BLACK)
.setIconBack(R.mipmap.ic_action_previous_item)
.setIconRotate(R.mipmap.ic_action_repeat)
.setIconCrop(R.mipmap.ic_action_crop)
.setIconCamera(R.mipmap.ic_action_camera)
//...其他配置
.build();
GalleryFinal.init(theme);
```
2)、**ThemeConfig类说明**
```java
setTitleBarTextColor//标题栏文本字体颜色
setTitleBarBgColor//标题栏背景颜色
setTitleBarIconColor//标题栏icon颜色,如果设置了标题栏icon,设置setTitleBarIconColor将无效
setCheckNornalColor//选择框未选颜色
setCheckSelectedColor//选择框选中颜色
setCropControlColor//设置裁剪控制�
没有合适的资源?快使用搜索试试~ 我知道了~
图片选择器(史上最强、功能最全、可选择配置、稳定)
共173个文件
java:67个
png:51个
xml:31个
需积分: 50 33 下载量 2 浏览量
2016-03-07
10:30:14
上传
评论 1
收藏 7.1MB ZIP 举报
温馨提示
史上最强的图片选择器,Android自定义相册,实现了拍照、图片选择(单选/多选)、 裁剪(单/多裁剪)、旋转、ImageLoader无绑定任由开发者选择、功能可配置、主题样式可配置。GalleryFinal为你定制相册。现支持所有主流的ImageLoader,包括Glide/Fresco/Picasso/UIL等
资源推荐
资源详情
资源评论
收起资源包目录
图片选择器(史上最强、功能最全、可选择配置、稳定) (173个子文件)
GalleryFinal-Sample.apk 5.76MB
gradlew.bat 2KB
.gitignore 1KB
.gitignore 7B
.gitignore 7B
bintray.gradle 3KB
build.gradle 1KB
build.gradle 644B
build.gradle 621B
settings.gradle 32B
gradlew 5KB
xUtils-2.6.14.jar 277KB
gradle-wrapper.jar 49KB
HorizontalListView.java 50KB
PhotoViewAttacher.java 34KB
PhotoEditActivity.java 27KB
PhotoSelectActivity.java 22KB
MainActivity.java 20KB
GalleryFinal.java 15KB
CropImageActivity.java 15KB
HighlightView.java 14KB
ImageViewTouchBase.java 12KB
IPhotoView.java 11KB
EasyPermissions.java 11KB
ThemeConfig.java 10KB
FunctionConfig.java 9KB
PhotoBaseActivity.java 8KB
CropUtil.java 8KB
PhotoView.java 8KB
FloatingActionButton.java 7KB
CropImageView.java 7KB
PhotoTools.java 6KB
CupcakeGestureDetector.java 5KB
CoreConfig.java 5KB
FrescoImageLoader.java 5KB
Utils.java 5KB
FolderListAdapter.java 4KB
DefaultOnDoubleTapListener.java 4KB
PhotoListAdapter.java 4KB
PhotoEditListAdapter.java 4KB
PhotoPreviewActivity.java 3KB
MediaScanner.java 3KB
EclairGestureDetector.java 3KB
ChoosePhotoListAdapter.java 3KB
MonitoredActivity.java 3KB
RotateBitmap.java 3KB
GlideImageLoader.java 2KB
GFImageView.java 2KB
ILogger.java 2KB
FroyoGestureDetector.java 2KB
PhotoInfo.java 2KB
UILImageLoader.java 2KB
PhotoPreviewAdapter.java 2KB
GingerScroller.java 2KB
Compat.java 2KB
ViewHolderRecyclingPagerAdapter.java 2KB
PauseOnScrollListener.java 2KB
XUtils2ImageLoader.java 2KB
PicassoImageLoader.java 2KB
XUtilsImageLoader.java 2KB
IApplication.java 2KB
RecycleViewBitmapUtils.java 2KB
PreGingerScroller.java 2KB
PhotoFolderInfo.java 2KB
ScrollerProxy.java 2KB
VersionedGestureDetector.java 1KB
ImageLoader.java 1KB
AfterPermissionGranted.java 1KB
IcsScroller.java 1010B
OnGestureListener.java 944B
GestureDetector.java 943B
GFViewPager.java 755B
XUtils2PauseOnScrollListener.java 717B
PhotoTempModel.java 665B
PicassoPauseOnScrollListener.java 649B
UILPauseOnScrollListener.java 627B
GlidePauseOnScrollListener.java 621B
ApplicationTest.java 363B
ExampleUnitTest.java 318B
Global.java 185B
gallery_selects.jpg 123KB
gallery_edit.jpg 109KB
functions.jpg 51KB
LICENSE 11KB
README.md 11KB
CHANGELOG.md 2KB
gallery_final_effect.png 815KB
ic_gf_default_photo.png 21KB
gallery_final_qrcode.png 16KB
ic_launcher.png 10KB
ic_launcher.png 8KB
ic_gf_clear.png 5KB
ic_launcher.png 5KB
ic_gf_preview.png 4KB
ic_gf_rotate.png 3KB
ic_launcher.png 3KB
ic_delete_photo.png 3KB
ic_gf_crop.png 3KB
ic_gf_crop.png 3KB
gf_ic_preview.png 3KB
共 173 条
- 1
- 2
资源评论
三杯五岳
- 粉丝: 928
- 资源: 76
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功