浅谈谈Android 图片选择器

所属分类: 软件编程 / Android 阅读数: 1577
收藏 0 赞 0 分享

ImageSelector 简介

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

https://github.com/YancyYe/ImageSelector

Demo

Download Apk

更新内容

UI重改
所有功能可配置
解决OOM情况
图片手动选择
支持汉语和英语

截图展示

使用说明

步骤一:

通过Gradle抓取

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

步骤二:

在 AndroidManifest.xml 中 添加 如下权限

<!-- 从sdcard中读取数据的权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 往sdcard中写入数据的权限 -->
<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);
 }

}

配置ImageSelector

 ImageConfig imageConfig
  = new ImageConfig.Builder(MainActivity.this , 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))
  // 开启多选 (默认为多选) (单选 为 singleSelect)
  .mutiSelect()
  // 多选时的最大数量 (默认 9 张)
  .mutiSelectMaxSize(9)
  // 已选择的图片路径
  .pathList(path)
  // 拍照后存放的图片路径(默认 /temp/picture)
  .filePath("/ImageSelector/Pictures")
  // 开启拍照功能 (默认关闭)
  .showCamera()
  .build();


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

在  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);
   }

  }
 }

更多精彩内容其他人还在看

老生常谈Android HapticFeedback(震动反馈)

下面小编就为大家带来一篇老生常谈Android HapticFeedback(震动反馈)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详谈OnTouchListener与OnGestureListener的区别

下面小编就为大家带来一篇详谈OnTouchListener与OnGestureListener的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android仿知乎悬浮功能按钮FloatingActionButton效果

前段时间在看属性动画,恰巧这个按钮的效果可以用属性动画实现,下面通过本文给大家分享adroid仿知乎悬浮功能按钮FloatingActionButton效果,需要的朋友参考下吧
收藏 0 赞 0 分享

解决Android V7后自定义Toolbar、ActionBar左侧有空白问题

这篇文章主要介绍的Android V7后自定义Toolbar、ActionBar左侧有空白问题的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android常见控件使用详解

这篇文章主要为大家详细介绍了Android常见控件的使用方法,包括ProgressBar进度条控件、AlertDialog对话框控件等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android实现简洁的APP更新dialog数字进度条

这篇文章主要为大家详细介绍了Android实现简洁的APP更新dialog数字进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android 判断当前语言环境是否是中文环境

本文主要介绍了Android 判断当前语言环境是否是中文环境的方法。具有很好的参考价值。下面跟着小编一起来看下吧
收藏 0 赞 0 分享

详谈Android中Matrix的set、pre、post的区别

下面小编就为大家带来一篇详谈Android中Matrix的set、pre、post的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android实现登录界面记住密码的存储

这篇文章主要为大家详细介绍了Android SharedPreferrences实现登录界面记住密码的存储,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android 使用SharedPreferrences储存密码登录界面记住密码功能

Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入,下面通过实例代码给大家讲解下,需要的朋友参考下吧
收藏 0 赞 0 分享
查看更多