android 单选 图片,Android-ImagesPickers

步骤一:

通过Gradle抓取//只上传到了jcenter,在项目gradle下使用jcenter

allprojects {

repositories {

jcenter()

}

}//在module中添加依赖

dependencies {

compile 'com.jaikydota.imagespickers:imagespickers:1.0.0'

}

步骤二:

在 AndroidManifest.xml 中 添加 如下权限

步骤三:

创建 图片加载器 (其中可以按照 喜好  使用不同的 第三方图片加载框架 以下为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);

}

}

步骤四:

配置

UI 视图配置ImageConfig imageConfig

= new ImageConfig.Builder(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))

.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("/ImageSelector/Pictures")

.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("/ImageSelector/Pictures")

.build();

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

单选1:1 便捷截图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))

// (截图默认配置:关闭    比例 1:1    输出分辨率  500*500)

.crop()

// 开启单选   (默认为多选)

.singleSelect()

// 开启拍照功能 (默认关闭)

.showCamera()

// 拍照后存放的图片路径(默认 /temp/picture) (会自动创建)

.filePath("/ImageSelector/Pictures")

.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))

// (截图默认配置:关闭    比例 1:1    输出分辨率  500*500)

.crop(1, 2, 500, 1000)

// 开启单选   (默认为多选)

.singleSelect()

// 开启拍照功能 (默认关闭)

.showCamera()

// 拍照后存放的图片路径(默认 /temp/picture) (会自动创建)

.filePath("/ImageSelector/Pictures")

.build();

ImageSelector.open(MainActivity.this, 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 pathList = data.getStringArrayListExtra(ImageSelectorActivity.EXTRA_RESULT);

for (String path : pathList) {

Log.i("ImagePathList", 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;

@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);

//单选

btn1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

ImageConfig 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)

.singleSelect()

//.crop()

// 开启拍照功能 (默认开启)

//.showCamera()

.requestCode(REQUEST_CODE)

.build();

ImageSelector.open(MainActivity.this, imageConfig);

}

});

//多选

btn2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

ImageConfig imageConfig = new ImageConfig.Builder(

// GlideLoader 可用自己用的缓存库

new GlideLoader())

// 如果在 4.4 以上,则修改状态栏颜色 (默认黑色)

.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)

//.singleSelect()

//裁剪

//.crop()

// 多选时的最大数量   (默认 9 张)

.mutiSelectMaxSize(9)

// 已选择的图片路径

.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);

}

path.clear();

path.addAll(pathList);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值