图片选择器是Android开发中经常用到的一个功能,尤其是社交应用,比如头像设置,比如发图片。自然地,ImagePicker有很多轮子。今天给大家介绍一个强大的转轮SImagePickerhttps://github.com/martin90s/ImagePickerIntroduction首先强大的功能首先是基本的图片读取展示,图片更新监控超大图片预览,比如一张19M,10000*5000px图片裁剪功能丰富的可配置项,支持图片选择,选择数量定义,支持选择图片过滤,支持多种图片加载器(Fresco,Glide等)第一张图片模式,第二张选择多张图片(包括动画和平滑跳转),第三张图加载超大图(19.5M,10000*5000px)图片模式,支持裁剪多选图片,平滑页面跳转和超大图预览,可以看看如何使用渐变加载1.首先初始化(建议在Application的oncreate中调用)SImagePicker.init(newPickerConfig.Builder().setAppContext(this).setImageLoader(newFrescoImageLoader()).setToolbaseColor(getColor(R.color.colorPrimary)).build());2、调用SImagePicker.from(MainActivity.this).maxCount(9).rowCount(3).pickMode(SImagePicker.MODE_IMAGE).fileInterceptor(newSingleFileLimitInterceptor()).forResult(REQUEST_CODE_IMAGE);配置项1.全局配置(即,初始化时传入的PickerConfig,此配置应用于SImagePicker的整个使用)配置参数parametermeaningsetImageLoader(ImageLoader)使用的Imageloader。演示项目中实现了两个ImageLoader,Fresco和Glide。可以参考setToolbarColor(int)Picker的主色。默认值为App的primaryColor。setAppContext(Context)可以将Picker内部使用的Context传递给ApplicationContext。(即每次调用SImagePicker时传入的参数,该参数只对本次调用有效)在onActivityResult()返回,现在返回的结果有两个值,用户选中图片的路径列表data.getStringArrayListExtra(PhotoPickerActivity.EXTRA_RESULT_SELECTION);用户是否选择了原图data.getBooleanExtra(PhotoPickerActivity.EXTRA_RESULT_ORIGINAL,false);maxCount(int)本次选择允许的最大选择数,默认为1。比如你选择最多9张图片发朋友圈,则可以发送9张。rowCount(int)显示多少张图片图片列表单行setSelected(List)PickMode默认选中的图片(int)图片选择的模式,现在有两种模式:头像模式和普通模式,头像模式是选中的选择图片后,默认跳转到图片裁剪页面,默认只能选择一张。cropFilePath(String)头像模式裁剪图片存储地址showCamera(boolen)是否显示照片入口右下角显示的文字信息pickText(int)(例如配置选择、发送、完成)fileInterceptor(FileChooseInterceptor)图片过滤,比如用户选择的单张图片大小有限制,可以写在这个拦截器中,当用户选择的图片过大时,可以提示过滤forResult(intrequestCode)打开图片selector,在调用图片选择器的Fragment或Activity中传入requestCode获取result=REQUEST_CODE_IMAGE){finalArrayList
