//目前只上传到了jcenter,在项目gradle下使用jcenter
//Currently only uploaded to the jcenter, under the project gradle use jcenter
allprojects {
repositories {
jcenter()
}
}
//在module模块的gradle中添加依赖
//Add dependencies in the module's gradle
dependencies {
compile 'com.jaikydota.imagespickers:imagespickers:1.0.6'
//如果使用图片加载框架,添加依赖,下面用Glide示例
compile 'com.github.bumptech.glide:glide:3.6.1'
}
public class GlideLoader implements ImageLoader {
@Override
public void displayImage(Context context, String path, ImageView imageView) {
Glide.with(context)
.load(path)
.placeholder(com.jaiky.imagespickers.R.drawable.global_img_default)
.centerCrop()
.into(imageView);
}
}
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))
.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("/temp/picture")
.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("/temp/picture")
.build();
ImageSelector.open(MainActivity.this, imageConfig); // 开启图片选择器
//配置ImageConfig添加方法
// (裁剪默认配置:关闭 比例 1:1 输出分辨率 500*500)
.crop()
单选自定义裁剪
//配置ImageConfig添加方法
// (裁剪默认配置:关闭 比例 1:2 输出分辨率 500*1000)
.crop(1, 2, 500, 1000)
设置显示容器
//配置ImageConfig添加方法
// (设置容器,默认会添加一个子视图到容器布局,继承自ViewGroup如Linearlayout
// 注意容器布局中不要有其他子视图,可自己对容器布局设置宽度、Margin)
// 默认每行显示4个,不带删除
.setContainer(ViewGroup container)
容器自定义每行显示数量和是否删除
//配置ImageConfig添加方法
//参数:1、显示容器,2、每行显示数量(建议不要超过8个),是否可删除(默认不带删除)
.setContainer(linearLayout, 6, true)
关闭图片预览
//配置ImageConfig添加方法
// (关闭图片预览功能,默认开启)
.closePreview()
@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 Images Path List
List pathList = data.getStringArrayListExtra(ImageSelectorActivity.EXTRA_RESULT);
for (String path : pathList) {
Log.i("ImagePath", path);
}
}
}
public class MainActivity extends AppCompatActivity {
private Button btn1, btn2;
private TextView tv1;
private ArrayList path = new ArrayList<>();
public static final int REQUEST_CODE = 123;
private ImageConfig imageConfig;
private LinearLayout llContainer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
tv1 = (TextView) findViewById(R.id.tv1);
llContainer = (LinearLayout) findViewById(R.id.llContainer);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageConfig = new ImageConfig.Builder(
new GlideLoader())
.steepToolBarColor(getResources().getColor(R.color.titleBlue))
.titleBgColor(getResources().getColor(R.color.titleBlue))
.titleSubmitTextColor(getResources().getColor(R.color.white))
.titleTextColor(getResources().getColor(R.color.white))
// 开启单选 (默认为多选)
.singleSelect()
// 裁剪 (只有单选可裁剪)
//.crop()
// 开启拍照功能 (默认关闭)
.showCamera()
// 设置显示容器
.setContainer(llContainer)
.requestCode(REQUEST_CODE)
.build();
ImageSelector.open(MainActivity.this, imageConfig);
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageConfig = new ImageConfig.Builder(
new GlideLoader())
.steepToolBarColor(getResources().getColor(R.color.titleBlue))
.titleBgColor(getResources().getColor(R.color.titleBlue))
.titleSubmitTextColor(getResources().getColor(R.color.white))
.titleTextColor(getResources().getColor(R.color.white))
// 开启多选 (默认为多选)
.mutiSelect()
// 多选时的最大数量 (默认 9 张)
.mutiSelectMaxSize(9)
// 设置图片显示容器,参数:(1、显示容器,2、每行显示数量(建议不要超过8个),是否可删除)
.setContainer(llContainer, 4, true)
// 已选择的图片路径
.pathList(path)
// 拍照后存放的图片路径(默认 /temp/picture)
.filePath("/temp")
// 开启拍照功能 (默认关闭)
.showCamera()
.requestCode(REQUEST_CODE)
.build();
ImageSelector.open(MainActivity.this, imageConfig);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
List pathList = data.getStringArrayListExtra(ImageSelectorActivity.EXTRA_RESULT);
tv1.setText("");
for (String path : pathList) {
tv1.append(path);
tv1.append("\n");
}
path.clear();
path.addAll(pathList);
}
}
}
欢迎转载,但请保留文章原始出处
作者:Jaiky_杰哥
出处:http://blog.csdn.net/jaikydota163/article/details/52098880