Android Studio 圖片選擇器
阿新 • • 發佈:2019-02-19
build.gradle新增jar:
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.lzy.widget:ninegridview:0.2.1'
compile 'com.lzy.widget:imagepicker:0.3.2'
跳轉選擇圖片:
@OnClick(R.id.selectImageMany) public void selectImage(View view) { ImagePicker imagePicker = ImagePicker.getInstance(); imagePicker.setImageLoader(new GlideImageLoader()); imagePicker.setMultiMode(false); //多選 imagePicker.setShowCamera(true); //顯示拍照按鈕 imagePicker.setSelectLimit(9); //最多選擇9張 imagePicker.setCrop(false); //不進行裁剪 Intent intent = new Intent(this, ImageGridActivity.class); startActivityForResult(intent, 100); }
返回獲得圖片上傳:
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == ImagePicker.RESULT_CODE_ITEMS) { if (data != null && requestCode == 100) { imageItems = (ArrayList<ImageItem>) data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS); if (imageItems != null && imageItems.size() > 0) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < imageItems.size(); i++) { if (i == imageItems.size() - 1) sb.append("圖片").append(i + 1).append(" : ").append(imageItems.get(i).path); else sb.append("圖片").append(i + 1).append(" : ").append(imageItems.get(i).path).append("\n"); } tvImages.setText(sb.toString()); } else { tvImages.setText("--"); } } else { Toast.makeText(this, "沒有選擇圖片", Toast.LENGTH_SHORT).show(); tvImages.setText("--"); } } }
圖片轉File:
//圖片轉File上傳
ArrayList<File> files = new ArrayList<>();
if (imageItems != null && imageItems.size() > 0) {
for (int i = 0; i < imageItems.size(); i++) {
files.add(new File(imageItems.get(i).path));
}
}