package com.doumee.keyCabinet.utils; import android.app.Activity; import android.graphics.Color; import android.widget.Toast; import com.doumee.keyCabinet.R; import com.doumee.keyCabinet.utils.update.PermissionUtils; import com.doumee.keyCabinet.utils.update.PermissiondDialog; import com.yanzhenjie.permission.runtime.Permission; import com.yuyh.library.imgsel.ISNav; import com.yuyh.library.imgsel.config.ISCameraConfig; import com.yuyh.library.imgsel.config.ISListConfig; import java.util.List; public class PhotoUtils { public static final int REQUEST_LIST_CODE = 144; private Activity activity; private Object source;//activity、fragment private int count; public PhotoUtils(Activity activity, Object source) { this.activity = activity; this.source = source; } public void getPhoto(int count){ this.count=count; getPermision(false); } public void getCamera(){ this.count=1; getPermision(true); } private void getPermision(boolean isToCamera) { PermissionUtils.getPermission(activity, new PermissionUtils.CallBack() { @Override public void sucess() { if(isToCamera) { toCamera(); }else { selectPic(); } } @Override public void fail(List permissions) { showNoPermissionTip(); } }, new String[]{Permission.CAMERA}); } private PermissiondDialog permissiondDialog; /** * 没有权限的提醒 */ private void showNoPermissionTip() { try { Toast.makeText(activity, activity.getString(R.string.buy_view_27), Toast.LENGTH_LONG).show(); if (permissiondDialog == null) { permissiondDialog = new PermissiondDialog(activity, activity.getString(R.string.help), activity.getString(R.string.permiss_3), activity.getString(R.string.cancel), activity.getString(R.string.empower), new PermissiondDialog.OnClickListener() { @Override public void clickOk() { permissiondDialog.dismiss(); PermissionUtils.gotoPermission(activity); } @Override public void clickNo() { permissiondDialog.dismiss(); } }); } if (!permissiondDialog.isShowing()) { permissiondDialog.show(); } } catch (Exception e) { } } private void selectPic() { // 自由配置选项 ISListConfig config = new ISListConfig.Builder() // 是否多选, 默认true .multiSelect(count!=1) // 是否记住上次选中记录, 仅当multiSelect为true的时候配置,默认为true .rememberSelected(false) // “确定”按钮背景色 .btnBgColor(Color.GRAY) // “确定”按钮文字颜色 .btnTextColor(Color.BLUE) // 使用沉浸式状态栏 .statusBarColor(Color.parseColor("#0CC9A1")) // 返回图标ResId .backResId(R.mipmap.back) // 标题 .title(activity.getString(R.string.pic)) // 标题文字颜色 .titleColor(Color.WHITE) // TitleBar背景色 .titleBgColor(Color.parseColor("#0CC9A1")) // 裁剪大小。needCrop为true的时候配置 //.cropSize(1, 1, 200, 200) .needCrop(false) // 第一个是否显示相机,默认true .needCamera(true) // 最大选择图片数量,默认9 .maxNum(count) .build(); // 跳转到图片选择器 ISNav.getInstance().toListActivity(source, config, REQUEST_LIST_CODE); } private void toCamera() { // 自由配置选项 ISCameraConfig config = new ISCameraConfig.Builder() // 裁剪大小。needCrop为true的时候配置 .cropSize(1, 1, 300, 300) .needCrop(true) .build(); // 跳转到图片选择器 ISNav.getInstance().toCameraActivity(source, config, REQUEST_LIST_CODE); } }