GitHub地址:https://github.com/JiangAndroidwork/MyImagePicker
已適配安卓7.0
- 添加依賴:
在工程的build.gradle文件中添加:allprojects { repositories { jcenter() maven { url 'https://jitpack.io' } } }
compile 'com.github.JiangAndroidwork:MyImagePicker:1.1.9'
- 基本用法:
接收數據:ImagePicker build = new ImagePicker.Builder() .pickType(ImagePickType.MUTIL) //設置選取類型(拍照ONLY_CAMERA、單選SINGLE、多選MUTIL) .maxNum(9) //設置最大選擇數量(此選項只對多選生效,拍照和單選都是1,修改後也無效) .needCamera(true) //是否需要在界面中顯示相機入口(類似微信那樣) .cachePath(cachePath) //自定義緩存路徑(拍照和裁剪都需要用到緩存) .doCrop(1, 1, 300, 300) //裁剪功能需要調用這個方法,多選模式下無效,參數:aspectX,aspectY,outputX,outputY .needVideo(true)//是否顯示視頻 設置 .displayer(new GlideImagePickerDisplayer()) //自定義圖片加載器,默認是Glide實現的,可自定義圖片加載器 .build(); build.start(this, REQUEST_CODE, RESULT_CODE); //自定義RequestCode和ResultCode
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_CODE && data != null) { //獲取選擇的圖片數據 List<MediaDataBean> resultList = data.getParcelableArrayListExtra(ImagePicker.INTENT_RESULT_DATA); }}
圖片列表輪播詳情:
按是否需要下載到本地爲條件有兩種構造方法:
第一種,只需要傳遞三個參數,不需要有下載功能:
第二種,傳遞4個參數,是否需要有緩存圖片到本地的功能ImagePagerActivity.start(MainActivity.this, selectedPhotos, position);
默認緩存地址到Pictures目錄中如果需要設置緩存路徑和名稱需要通過引用 model設置參數,並監聽回調DownImagModel model = ImagePagerActivity.start(MainActivity.this, imageList, imageList.get(position).getPosition(), true);
model.setFileName("111.jpg"); model.setDownUrl(Environment.getExternalStorageDirectory()+"/hh/"); model.setCallBack(new DownImagCallBack() { @Override public void onSuccess(String url) { Log.i("下載成功==",url); } @Override public void onFail(String message) { Log.i("下載失敗==",message); } });
- 視頻播放詳情頁:
VideoDetailActivity.start(MainActivity.this,imageBean);