app/src/main/java/com/xw/yunwei/ui/task/accident/handle/AccidentProcessActivity.kt
@@ -4,9 +4,7 @@ import android.net.Uri import androidx.recyclerview.widget.GridLayoutManager import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -15,11 +13,10 @@ import com.xw.common.base.ImageEventListener import com.xw.common.base.ImageSelectAdapter import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.yunwei.BR import com.xw.yunwei.BaseBusinessActivity import com.xw.yunwei.databinding.ActivityAccidentProcessBinding import com.xw.yunwei.utils.PictureSelectorFactory /** * 事故处理页面 @@ -129,15 +126,11 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size, resultCallbackListener ) } /** @@ -145,10 +138,7 @@ */ // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } /** app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
@@ -14,9 +14,7 @@ import com.afollestad.materialdialogs.customview.getCustomView import com.amap.api.location.AMapLocation import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -26,12 +24,9 @@ import com.xw.common.base.ImageSelectAdapter import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.BindUtils.getResColor import com.xw.common.utils.BindUtils.getUrl import com.xw.common.utils.GlideEngine import com.xw.common.utils.GpsHelper import com.xw.common.utils.KeyPreferences import com.xw.common.utils.MMKVManager import com.xw.common.utils.PictureCompressEngine import com.xw.common.utils.ToastUtilCommon import com.xw.common.viewAdapter.ImageDefault import com.xw.common.viewAdapter.ViewAdapter @@ -42,6 +37,7 @@ import com.xw.yunwei.model.CacheAccidentModel import com.xw.yunwei.model.CarModel import com.xw.yunwei.utils.DialogFactory import com.xw.yunwei.utils.PictureSelectorFactory /** * 事故上报页面 @@ -186,15 +182,11 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSize - viewModel.adapter.data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSize - viewModel.adapter.data.size, resultCallbackListener ) } /** @@ -202,10 +194,7 @@ */ // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } /** app/src/main/java/com/xw/yunwei/ui/task/normal/NormalTaskDetailActivity.kt
@@ -9,9 +9,7 @@ import com.amap.api.location.AMapLocation import com.amap.api.maps.model.LatLng import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -21,16 +19,15 @@ import com.xw.common.base.ShowImgListDialog import com.xw.common.custom.BatteryView.Companion.getBatteryColorByBatteryLife import com.xw.common.utils.BindUtils.getUrls import com.xw.common.utils.GlideEngine import com.xw.common.utils.GpsHelper import com.xw.common.utils.GpsHelper.Companion.navigate import com.xw.common.utils.PictureCompressEngine import com.xw.common.utils.ToastUtilCommon import com.xw.yunwei.BR import com.xw.yunwei.BaseBusinessActivity import com.xw.yunwei.databinding.ActivityNormalTaskDetailBinding import com.xw.yunwei.model.TaskNormalModel import com.xw.yunwei.ui.work.car.detail.operations.charge.ChargeCarActivity import com.xw.yunwei.utils.PictureSelectorFactory /** * 常规任务详情页面 @@ -368,23 +365,16 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSize - viewModel.adapterCanEdit.data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSize - viewModel.adapterCanEdit.data.size, resultCallbackListener ) } // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this, resultCallbackListener) } /** 图片选择结果回调 */ app/src/main/java/com/xw/yunwei/ui/user/mine/upload/CertUploadActivity.kt
@@ -3,22 +3,18 @@ import android.annotation.SuppressLint import android.net.Uri import android.view.View import androidx.core.view.isVisible import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.yunwei.BR import com.xw.yunwei.BaseBusinessActivity import com.xw.yunwei.R import com.xw.yunwei.databinding.ActivityCertUploadBinding import com.xw.yunwei.extension.colorIdToColorValue import com.xw.yunwei.utils.PictureSelectorFactory /** * 证件上传 @@ -170,23 +166,12 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(1) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery(this,1,resultCallbackListener) } // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } private var resultCallbackListener = object : OnResultCallbackListener<LocalMedia> { app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/charge/ChargeCarActivity.kt
@@ -5,9 +5,7 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.GridLayoutManager import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -19,8 +17,6 @@ import com.xw.common.custom.SlideButtonView.Companion.DIRECTION_RIGHT import com.xw.common.utils.BindUtils.getResColor import com.xw.common.utils.BindUtils.getUrls import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.common.viewAdapter.ImageDefault import com.xw.common.viewAdapter.ViewAdapter import com.xw.yunwei.BR @@ -28,6 +24,7 @@ import com.xw.yunwei.R import com.xw.yunwei.databinding.ActivityCarChargeBinding import com.xw.yunwei.model.CarModel import com.xw.yunwei.utils.PictureSelectorFactory /** * 车辆充电 @@ -178,23 +175,16 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSize - viewModel.adapterNow.data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSize - viewModel.adapterNow.data.size, resultCallbackListener ) } // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } private var resultCallbackListener = object : OnResultCallbackListener<LocalMedia> { app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/check/CheckCarActivity.kt
@@ -4,9 +4,7 @@ import android.net.Uri import androidx.recyclerview.widget.GridLayoutManager import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -15,9 +13,6 @@ import com.xw.common.base.ImageSelectAdapter import com.xw.common.base.ShowImgListDialog import com.xw.common.custom.SlideSwitchView.OnStateChangeListener import com.xw.common.utils.BindUtils.getUrl import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.common.utils.ToastUtilCommon import com.xw.common.viewAdapter.ImageDefault import com.xw.common.viewAdapter.ViewAdapter @@ -26,11 +21,9 @@ import com.xw.yunwei.Constants.user import com.xw.yunwei.R import com.xw.yunwei.databinding.ActivityCarCheckBinding import com.xw.yunwei.model.CarCheckModel import com.xw.yunwei.model.CarModel import com.xw.yunwei.model.CheckRecordModel import java.util.ArrayList import kotlin.text.ifEmpty import com.xw.yunwei.utils.PictureSelectorFactory /** * 车辆检测 @@ -222,23 +215,16 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size, resultCallbackListener ) } // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } private var resultCallbackListener = object : OnResultCallbackListener<LocalMedia> { app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/clean/CleanCarActivity.kt
@@ -4,9 +4,7 @@ import android.net.Uri import androidx.recyclerview.widget.GridLayoutManager import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -14,8 +12,6 @@ import com.xw.common.base.ImageEventListener import com.xw.common.base.ImageSelectAdapter import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.common.viewAdapter.ImageDefault import com.xw.common.viewAdapter.ViewAdapter import com.xw.yunwei.BR @@ -23,6 +19,7 @@ import com.xw.yunwei.R import com.xw.yunwei.databinding.ActivityCarCleanBinding import com.xw.yunwei.model.CarModel import com.xw.yunwei.utils.PictureSelectorFactory /** * 车身清洁 @@ -95,23 +92,16 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSize - viewModel.adapter.data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSize - viewModel.adapter.data.size, resultCallbackListener ) } // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } private var resultCallbackListener = object : OnResultCallbackListener<LocalMedia> { app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/maintain/MaintainCarActivity.kt
@@ -4,9 +4,7 @@ import android.net.Uri import androidx.recyclerview.widget.GridLayoutManager import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -14,14 +12,13 @@ import com.xw.common.base.ImageEventListener import com.xw.common.base.ImageSelectAdapter import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.yunwei.BR import com.xw.yunwei.BaseBusinessActivity import com.xw.yunwei.Constants.user import com.xw.yunwei.databinding.ActivityCarMaintainBinding import com.xw.yunwei.model.CarModel import com.xw.yunwei.model.MaintainRecordModel import com.xw.yunwei.utils.PictureSelectorFactory /** * 车辆整备 @@ -128,23 +125,16 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size, resultCallbackListener ) } // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } private var resultCallbackListener = object : OnResultCallbackListener<LocalMedia> { app/src/main/java/com/xw/yunwei/ui/work/car/detail/operations/repair/RepairCarActivity.kt
@@ -4,9 +4,7 @@ import android.net.Uri import androidx.recyclerview.widget.GridLayoutManager import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog @@ -17,13 +15,12 @@ import com.xw.common.base.ImageSelectAdapter import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.BindUtils.getUrls import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.common.utils.ToastUtilCommon import com.xw.yunwei.BR import com.xw.yunwei.BaseBusinessActivity import com.xw.yunwei.databinding.ActivityCarRepairBinding import com.xw.yunwei.model.CarModel import com.xw.yunwei.utils.PictureSelectorFactory /** * 车辆维修 @@ -160,23 +157,16 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery() { PictureSelector.create(this) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(resultCallbackListener) PictureSelectorFactory.enterGallery( this, viewModel.maxSizes[viewModel.operateIndex] - viewModel.adapters[viewModel.operateIndex].data.size, resultCallbackListener ) } // 拍照 private fun takeAPhotograph() { PictureSelector.create(this) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(resultCallbackListener) PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) } private var resultCallbackListener = object : OnResultCallbackListener<LocalMedia> { app/src/main/java/com/xw/yunwei/ui/work/checkInMission/viewmodel/CruiseCheckInOperationViewModel.kt
@@ -8,16 +8,12 @@ import androidx.lifecycle.MutableLiveData import com.amap.location.support.util.TextUtils import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog import com.xw.common.base.BaseViewModel import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.common.utils.ToastUtilCommon import com.xw.yunwei.model.CheckInMissionPointInfo import com.xw.yunwei.model.UploadModel @@ -25,6 +21,7 @@ import com.xw.yunwei.net.WorkRepository import com.xw.yunwei.ui.dialog.CruiseCheckInSuccessDialog import com.xw.yunwei.ui.work.checkInMission.CruiseCheckInMissionCompleteActivity import com.xw.yunwei.utils.PictureSelectorFactory import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import okhttp3.MediaType.Companion.toMediaType @@ -110,24 +107,15 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery(context: Context) { PictureSelector.create(context) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum( (pictureMax.value ?: 1) - (operationPictures.value?.count { it.isNotEmpty() } ?: 0)) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(this) PictureSelectorFactory.enterGallery( context, (pictureMax.value ?: 1) - (operationPictures.value?.count { it.isNotEmpty() } ?: 0), this) } // 拍照 private fun takeAPhotograph(context: Context) { PictureSelector.create(context) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(this) PictureSelectorFactory.takeAPhotograph(context,this) } override fun onResult(result: ArrayList<LocalMedia>?) { app/src/main/java/com/xw/yunwei/ui/work/site/viewmodel/SiteErrorUploadVM.kt
@@ -8,22 +8,19 @@ import androidx.fragment.app.FragmentActivity import androidx.lifecycle.MutableLiveData import com.blankj.utilcode.util.UriUtils import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.PictureMimeType import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.xw.common.CommonDialog import com.xw.common.base.BaseViewModel import com.xw.common.base.ShowImgListDialog import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.common.utils.ToastUtilCommon import com.xw.yunwei.R import com.xw.yunwei.model.SiteModel import com.xw.yunwei.model.UploadModel import com.xw.yunwei.net.CommonRepository import com.xw.yunwei.net.WorkRepository import com.xw.yunwei.utils.PictureSelectorFactory import okhttp3.MediaType.Companion.toMediaType import okhttp3.MultipartBody import okhttp3.RequestBody.Companion.asRequestBody @@ -107,25 +104,15 @@ // 进入图库 @SuppressLint("SourceLockedOrientationActivity") private fun enterGallery(context: Context) { PictureSelector.create(context) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum( (pictureMax.value ?: 1) - (operationPictures.value?.count { it.isNotEmpty() } ?: 0) ) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(this) PictureSelectorFactory.enterGallery( context, (pictureMax.value ?: 1) - (operationPictures.value?.count { it.isNotEmpty() } ?: 0), this) } // 拍照 private fun takeAPhotograph(context: Context) { PictureSelector.create(context) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(this) PictureSelectorFactory.takeAPhotograph(context,this) } override fun onResult(result: ArrayList<LocalMedia>?) { app/src/main/java/com/xw/yunwei/utils/PictureSelectorFactory.kt
New file @@ -0,0 +1,47 @@ package com.xw.yunwei.utils import android.content.Context import com.luck.picture.lib.basic.PictureSelector import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.luck.picture.lib.style.PictureSelectorStyle import com.luck.picture.lib.style.SelectMainStyle import com.xw.common.utils.GlideEngine import com.xw.common.utils.PictureCompressEngine import com.xw.yunwei.R //图片选择器工厂 object PictureSelectorFactory { //获取选择器 fun enterGallery( context: Context, max: Int, call: OnResultCallbackListener<LocalMedia>, ) { PictureSelector.create(context) .openGallery(SelectMimeType.ofImage()) .setSelectorUIStyle(PictureSelectorStyle().apply { selectMainStyle = SelectMainStyle().apply { isPreviewSelectNumberStyle = true isSelectNumberStyle = true selectBackground = R.drawable.ps_demo_blue_num_selector } }) .setImageEngine(GlideEngine.createGlideEngine()) .setMaxSelectNum(max) .setImageSpanCount(4) .isPreviewImage(true) .isDisplayCamera(false) .setCompressEngine(PictureCompressEngine()) .forResult(call) } //拍摄照片 fun takeAPhotograph(context: Context, call: OnResultCallbackListener<LocalMedia>) { PictureSelector.create(context) .openCamera(SelectMimeType.ofImage()) .setCompressEngine(PictureCompressEngine()) .forResultActivity(call) } } app/src/main/res/drawable/ps_demo_blue_num_normal.xml
New file @@ -0,0 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false"> <solid android:color="@color/ps_color_transparent" /> <stroke android:width="1dp" android:color="@color/ps_color_white" /> <size android:width="18dp" android:height="18dp" /> </shape> app/src/main/res/drawable/ps_demo_blue_num_selected.xml
New file @@ -0,0 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false"> <solid android:color="@color/color_00c25c" /> <size android:width="18dp" android:height="18dp" /> </shape> app/src/main/res/drawable/ps_demo_blue_num_selector.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ps_demo_blue_num_normal" android:state_selected="false" /> <item android:drawable="@drawable/ps_demo_blue_num_selected" android:state_selected="true" /> </selector> app/src/main/res/values/colors.xml
@@ -15,4 +15,5 @@ <color name="color_d9d9d9">#d9d9d9</color> <color name="color_0f31456a">#0f31456A</color> <color name="color_1a026ee4">#1a026EE4</color> <color name="color_00c25c">#00c25c</color> </resources>