记录-图片预览多选

This commit is contained in:
lijia 2024-03-07 17:30:44 +08:00
parent 3023d57680
commit 0999a99eb7
6 changed files with 63 additions and 25 deletions

View File

@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.dahe.gldriver.R
import com.dahe.gldriver.adapter.GridItemAdapter
import com.dahe.gldriver.adapter.WaybillAdapter
import com.dahe.gldriver.adapter.WaybillListAdapter
import com.dahe.gldriver.base.AppConfig
import com.dahe.gldriver.bean.CarBean
import com.dahe.gldriver.bean.GridBean
@ -17,6 +18,7 @@ import com.dahe.gldriver.net.BaseObserver
import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack
import com.dahe.gldriver.ui.waybill.activity.WaybillDetailActivity
import com.dahe.gldriver.ui.waybill.activity.WaybillUpPicActivity
import com.dahe.gldriver.utils.CommonPopUtils
import com.dahe.gldriver.utils.OrderUtils
import com.dahe.glex.bean.OrderBean
@ -75,8 +77,14 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
tvMar.isSelected = true
ivMyWaybill.setOnClickListener {
if (this@HomeFragment.mListener != null)
this@HomeFragment?.mListener?.invoke(2)
// TODO: 调试图片上传todo
ActivityUtils.startActivity(mContext,WaybillUpPicActivity::class.java,Bundle().apply {
putInt(AppConfig.SUCCESS_TYPE,1)
})
// if (this@HomeFragment.mListener != null)
// this@HomeFragment?.mListener?.invoke(2)
}
}
initData()
@ -93,9 +101,13 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<MutableList<OrderBean>>() {
override fun onSuccess(t: CommonResponseBean<MutableList<OrderBean>>) {
super.onSuccess(t)
if (mRefreshPage === 1) {
if (t.data.size == 0) {
adapter?.submitList(null)
adapter?.setStateViewLayout(mContext, R.layout.empty_view)
} else {
adapter?.submitList(t.data)
}
} else {
adapter?.addAll(t.data)
}
@ -126,9 +138,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
Color.TRANSPARENT
)
)
adapter = WaybillAdapter()
adapter as WaybillAdapter
}.apply {
isStateViewEnable = true
setOnItemClickListener { _, _, position ->
ActivityUtils.startActivity(
mContext,

View File

@ -39,6 +39,7 @@ class MessageFragment : BaseFragment<FragmentMessageBinding>(), RefreshCallBack
}
override fun onFragmentFirstVisible() {
setRefresh(binding.refresh,this)
initRecy()
}
@ -72,6 +73,8 @@ class MessageFragment : BaseFragment<FragmentMessageBinding>(), RefreshCallBack
setHasFixedSize(true)
adapter = MessageAdapter()
adapter as MessageAdapter
}.apply {
isStateViewEnable = true
}
adapter.submitList(datas)

View File

@ -2,6 +2,7 @@ package com.dahe.gldriver.ui.waybill.activity
import android.os.Bundle
import android.view.View
import android.widget.ImageView
import androidx.recyclerview.widget.GridLayoutManager
import com.amap.api.maps.model.LatLng
import com.dahe.gldriver.base.AppConfig
@ -16,16 +17,20 @@ import com.dahe.gldriver.utils.GDLocationUtils
import com.dahe.mylibrary.adapter.GridImageAdapter
import com.dahe.mylibrary.adapter.GridImageAdapter.OnItemClickListener
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.callback.OnPicResultListener
import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.LoadingUtils
import com.dahe.mylibrary.utils.PopsUtils
import com.dahe.mylibrary.utils.ToastUtils
import com.dahe.mylibrary.weight.FullyGridLayoutManager
import com.dahe.mylibrary.weight.GlideEngine
import com.luck.picture.lib.basic.PictureSelector
import com.luck.picture.lib.decoration.GridSpacingItemDecoration
import com.luck.picture.lib.entity.LocalMedia
import com.luck.picture.lib.utils.DensityUtil
import com.luck.picture.lib.widget.SquareRelativeLayout
import com.lxj.xpopup.XPopup
import com.lxj.xpopup.interfaces.OnSrcViewUpdateListener
import com.lxj.xpopup.util.SmartGlideImageLoader
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
@ -42,7 +47,6 @@ class WaybillUpPicActivity : BaseActivity<ActivityWaybillUppicBinding>() {
var orderId: String = ""
var waybillId: String = ""
var childreId: String = ""
lateinit var latLng: LatLng
override fun initView(savedInstanceState: Bundle?) {
@ -52,7 +56,6 @@ class WaybillUpPicActivity : BaseActivity<ActivityWaybillUppicBinding>() {
var type = intent.extras?.run {
orderId = getString(AppConfig.ORDER_ID, "")
waybillId = getString(AppConfig.WAYBILL_ID, "")
childreId = getString(AppConfig.CHILDRE_ID, "")
getInt(AppConfig.SUCCESS_TYPE, 0)
}
if (1 == type) {
@ -81,26 +84,34 @@ class WaybillUpPicActivity : BaseActivity<ActivityWaybillUppicBinding>() {
)
var myAdapter = GridImageAdapter(mContext, mData)
myAdapter.selectMax = 6
myAdapter.setOnItemClickListener(object : OnItemClickListener {
override fun onItemClick(v: View?, position: Int) {
// 预览图片、视频、音频
PictureSelector.create(this@WaybillUpPicActivity)
.openPreview()
.setImageEngine(GlideEngine.createGlideEngine())
.isHidePreviewDownload(true)
.startActivityPreview(position, false, myAdapter.data)
}
override fun openPicture() {
PopsUtils.getInstance().showSelPic(mContext, myAdapter) {
OssServiceUtil.getInstance().run {
asyncPutImage(it[0].realPath, this@WaybillUpPicActivity)
setResultCallBack { data, oldPath ->
picBean = WaybillPhoto()
picBean.run {
photoUrl = oldPath
this.type = if (type == 1) "1" else "2"
}
upBean.waybillPhotoList.add(picBean)
}
// TODO: 暂时注释
// asyncPutImage(it[0].realPath, this@WaybillUpPicActivity)
// setResultCallBack { data, oldPath ->
// picBean = WaybillPhoto()
// picBean.run {
// photoUrl = oldPath
// this.type = if (type == 1) "1" else "2"
// }
//
// upBean.waybillPhotoList.add(picBean)
// }
}
myAdapter.data.addAll(it)
myAdapter.notifyDataSetChanged()
@ -124,10 +135,12 @@ class WaybillUpPicActivity : BaseActivity<ActivityWaybillUppicBinding>() {
)
var myAdapter = GridImageAdapter(mContext, mData)
myAdapter.selectMax = 1
myAdapter.setOnItemClickListener(object : OnItemClickListener {
override fun onItemClick(v: View?, position: Int) {
// 预览图片、视频、音频
PictureSelector.create(this@WaybillUpPicActivity)
.openPreview()
}
override fun openPicture() {
@ -162,7 +175,6 @@ class WaybillUpPicActivity : BaseActivity<ActivityWaybillUppicBinding>() {
waybillId = this@WaybillUpPicActivity.waybillId
latitude = latLng.latitude.toString()
longitude = latLng.longitude.toString()
// orderChildreId = this@WaybillUpPicActivity.childreId
this.type = if (type == 1) "1" else "2"
}

View File

@ -2,13 +2,13 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_marginTop="@dimen/dp_m_60"
android:layout_width="@dimen/dp_210"
android:layout_height="@dimen/dp_210"
android:background="@drawable/empty_content" />

View File

@ -91,9 +91,9 @@ class PopBottomPic(
.setCompressEngine(ImageFileCompressEngine())
.isPreviewImage(true)
.isMaxSelectEnabledMask(true)
.setMaxSelectNum(1)
.setMaxSelectNum(6)
.isGif(false)
.setSelectionMode(SelectModeConfig.SINGLE)
// .setSelectionMode(SelectModeConfig.SINGLE)
.setSelectedData(myAdapter.data)
selectionModel.forResult(object : OnResultCallbackListener<LocalMedia> {
override fun onResult(result: ArrayList<LocalMedia>) {

View File

@ -1,6 +1,7 @@
package com.dahe.mylibrary.utils
import android.content.Context
import android.widget.ImageView
import com.dahe.mylibrary.adapter.GridImageAdapter
import com.dahe.mylibrary.base.SingletonNoPHolder
import com.dahe.mylibrary.callback.OnPicResultListener
@ -47,4 +48,12 @@ class PopsUtils private constructor(){
.asCustom(PopNorBottomPic(ctx, listenter))
.show()
}
fun showBigPic(ctx: Context,srcImageView: ImageView){
// XPopup.Builder(ctx)
// .isDestroyOnDismiss(true)
// .asImageViewer(srcImageView,0,,)
}
}