首页  »   Android

Android图片选择器(抉择多张图片)

网友分享于:2013-12-04  浏览:0次
Android图片选择器(选择多张图片)

好久没有写过文章了,最近一直在忙公司桌面维护的一些事情,前几天接到一个写一个仿微信选择多张图片的任务,今天来总结一下。发现一个非常好用的图片选择库,下面来说一下这个库的用法:

1.通过Gradle抓取和导入Jar包(Glide和RecyclerView,文末有连接)

 

compile 'com.yancy.imageselector:imageselector:1.1.0' 

2.在 AndroidManifest.xml 中 添加 如下权限

<!-- 从sdcard中读取数据的权限 -->  
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />  
<!-- 往sdcard中写入数据的权限 -->  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  

3.创建 图片加载器 (建议使用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);  
 }  
  
}  

4.配置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); // 开启图片选择器  

5.在  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 != ) {  
  
  
   // Get Image Path List  
   List<String> pathList = data.getStringArrayListExtra(ImageSelectorActivity.EXTRA_RESULT);  
  
  
   for (String path : pathList) {  
    Log.e("已选择图片的路径为-----", path);  
   }  
  
  
  }  
 }  

 

 

相关解决方案

最新解决方案