android 經量級選擇圖片框架,支持拍照,獲取相冊圖片,獲取本地視頻,能夠多選,單選android
此框架功能點有:git
allprojects {
repositories {
maven { url "https://jitpack.io" }
jcenter()
mavenCentral()
google()
}
}
複製代碼
implementation 'com.github.JackLiaoJH:ImageSelect:1.2.0'
複製代碼
// 實現IEngine接口,如glide加載
class GlideEngine : IEngine {
override fun loadImage(imageView: ImageView, uiConfig: MediaUiConfigVo) {
Glide.with(imageView)
.load(uiConfig.path)
.placeholder(uiConfig.placeholderResId)
.error(uiConfig.errorResId)
.override(uiConfig.width, uiConfig.height)
.centerCrop()
.into(imageView)
}
}
//在Application裏面初始化框架圖片加載邏輯:
override fun onCreate() {
super.onCreate()
ImageSelector.setImageEngine(GlideEngine())
}
複製代碼
//打開照片列表
ImageSelector.startImageAction(
this, IMAGE_CODE, MediaSelectConfig.Builder()
.setShowCamera(true) //是否展現打開攝像頭拍照入口,只針對照片,視頻列表無效
.setOpenCameraOnly(isOpneCameraOnly) //是否只是打開攝像頭拍照而已
.setOriginData(mSelectPath) //已選擇圖片地址
.setMaxCount(9)//選擇最大集合,默認9
.setImageSpanCount(4) //自定義列表展現個數,默認3
.setPlaceholderResId(R.mipmap.ic_launcher) //預覽圖
.build()
)
//打開視頻列表
ImageSelector.startVideoAction(
this, IMAGE_CODE, MediaSelectConfig.Builder()
.setOriginData(mSelectPath) //已選擇圖片地址
.setImageSpanCount(4) //自定義列表展現個數,默認3
.build()
)
複製代碼
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_IMAGE) {
if (resultCode == Activity.RESULT_OK) {
mSelectPath = ImageSelector.getSelectResults(data)
Log.e("ImageSelect", "結果: $mSelectPath")
}
}
}
複製代碼
項目地址:github.com/JackLiaoJH/…github