修改上传图片逻辑
This commit is contained in:
@@ -2,10 +2,12 @@ package com.yuyin.module_live.ui.roomset
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.text.TextUtils
|
||||
import android.view.KeyEvent
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.RelativeLayout
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
@@ -13,14 +15,21 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.baoyz.actionsheet.ActionSheet
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.Priority
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.kongzue.dialog.util.BaseDialog
|
||||
import com.kongzue.dialog.v3.CustomDialog
|
||||
import com.luck.picture.lib.basic.PictureSelector
|
||||
import com.luck.picture.lib.engine.ImageEngine
|
||||
import com.luck.picture.lib.entity.LocalMedia
|
||||
import com.luck.picture.lib.style.PictureSelectorStyle
|
||||
import com.lzy.imagepicker.ImagePicker
|
||||
import com.lzy.imagepicker.bean.ImageItem
|
||||
import com.lzy.imagepicker.ui.ImageGridActivity
|
||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
||||
import com.tencent.qcloud.tuicore.component.imageEngine.impl.GlideEngine
|
||||
import com.yuyin.lib_base.Const
|
||||
import com.yuyin.lib_base.arouter.AroutUtil.LIVE_LIVESETNEW
|
||||
import com.yuyin.lib_base.base.BaseDataBindingActivity
|
||||
@@ -46,11 +55,13 @@ import kotlin.collections.set
|
||||
|
||||
|
||||
@Route(path = LIVE_LIVESETNEW)
|
||||
class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoomSettingNewBinding>() {
|
||||
class RoomSetNewActivity :
|
||||
BaseDataBindingActivity<RoomSetViewModel, ActivityRoomSettingNewBinding>() {
|
||||
private var roomImgyAdapter: RoomImgyAdapter? = null
|
||||
lateinit var mEnterRoom: EnterRoomInfo
|
||||
// lateinit var categorRoomBeans: ArrayList<CategorRoomBean>
|
||||
private var roomType=""
|
||||
|
||||
// lateinit var categorRoomBeans: ArrayList<CategorRoomBean>
|
||||
private var roomType = ""
|
||||
|
||||
var room_background = ""
|
||||
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
|
||||
@@ -62,26 +73,26 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
}
|
||||
|
||||
override fun startObserve() {
|
||||
viewModel.roomCateBean.observe(this){
|
||||
viewModel.roomCateBean.observe(this) {
|
||||
for (item in it.indices) {
|
||||
if (mEnterRoom.cate_id == it[item].cate_id.toString()) {
|
||||
it[item].isSelect = true
|
||||
roomType=it[item].cate_id.toString()
|
||||
roomType = it[item].cate_id.toString()
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
mDataBinding.rvContainer.layoutManager =
|
||||
LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
|
||||
var tagAdapter=TagAdapter(it)
|
||||
var tagAdapter = TagAdapter(it)
|
||||
mDataBinding.rvContainer.adapter = tagAdapter
|
||||
tagAdapter.setOnItemClickListener { adapter, view, position ->
|
||||
val data: List<RoomCateBean> = tagAdapter!!.data
|
||||
for(list in data){
|
||||
for (list in data) {
|
||||
list.isSelect = false
|
||||
}
|
||||
tagAdapter.data[position].isSelect=true
|
||||
roomType= tagAdapter.data[position].cate_id.toString()
|
||||
tagAdapter.data[position].isSelect = true
|
||||
roomType = tagAdapter.data[position].cate_id.toString()
|
||||
tagAdapter.notifyDataSetChanged()
|
||||
}
|
||||
}
|
||||
@@ -126,7 +137,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
map["room_intro"] = room_intro
|
||||
map["cate_id"] = roomType
|
||||
map["room_cover"] = it[0]
|
||||
if(!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())){
|
||||
if (!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())) {
|
||||
map["room_password"] = mDataBinding.etPass.text.toString().trim()
|
||||
}
|
||||
map["room_background_id"] = room_background
|
||||
@@ -139,8 +150,8 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
EventBus.getDefault().post(FirstEvent("指定发送", Const.FANGJIANSHEZHI))
|
||||
backToRoom()
|
||||
})
|
||||
viewModel.roomInfo.observe(this){
|
||||
if(!TextUtils.isEmpty(it.room_password)){
|
||||
viewModel.roomInfo.observe(this) {
|
||||
if (!TextUtils.isEmpty(it.room_password)) {
|
||||
mDataBinding.etPass.setText(it.room_password)
|
||||
}
|
||||
|
||||
@@ -189,27 +200,90 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
|
||||
override fun initEvent() {
|
||||
mDataBinding.llfjfcbl.setOnClickListener {
|
||||
var intent=Intent(this,RoomShareRatioActivity::class.java)
|
||||
intent.putExtra("rid",mEnterRoom.rid)
|
||||
var intent = Intent(this, RoomShareRatioActivity::class.java)
|
||||
intent.putExtra("rid", mEnterRoom.rid)
|
||||
startActivity(intent)
|
||||
}
|
||||
mDataBinding.ivBaseBack2.setOnClickListener {
|
||||
backToRoom()
|
||||
}
|
||||
mDataBinding.headImage.setOnClickListener {
|
||||
showImgPop()
|
||||
// showImgPop()
|
||||
PictureSelector.create(this)
|
||||
.openGallery(1)
|
||||
.setImageEngine(TUIEngine())
|
||||
.setSelectorUIStyle(PictureSelectorStyle())
|
||||
.isGif(false)
|
||||
.setMaxSelectNum(1)
|
||||
.isPreviewImage(true)
|
||||
.isDisplayCamera(true)
|
||||
.isOriginalSkipCompress(true)
|
||||
.forResult(REQUEST_CODE_SELECT) //结果回调onActivityResult code
|
||||
}
|
||||
mDataBinding.tvBaocun.setOnClickListener {
|
||||
baocun()
|
||||
}
|
||||
mDataBinding.llYyt.setOnClickListener {
|
||||
val intent = Intent(this, RoomSetTypeActivity::class.java)
|
||||
intent.putExtra("rid",mEnterRoom.rid)
|
||||
intent.putExtra("rid", mEnterRoom.rid)
|
||||
startActivity(intent)
|
||||
}
|
||||
}
|
||||
|
||||
private fun baocun(){
|
||||
class TUIEngine : ImageEngine {
|
||||
override fun loadImage(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
override fun loadImage(
|
||||
context: Context?,
|
||||
imageView: ImageView?,
|
||||
url: String?,
|
||||
maxWidth: Int,
|
||||
maxHeight: Int
|
||||
) {
|
||||
if (imageView != null) {
|
||||
Glide.with(context!!)
|
||||
.load(url)
|
||||
.apply(
|
||||
RequestOptions()
|
||||
.override(maxWidth, maxHeight)
|
||||
.priority(Priority.HIGH)
|
||||
.fitCenter()
|
||||
)
|
||||
.into(imageView)
|
||||
}
|
||||
}
|
||||
|
||||
override fun loadAlbumCover(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
override fun loadGridImage(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
override fun pauseRequests(context: Context) {
|
||||
// GlideEngine中没有对应方法,可以留空
|
||||
}
|
||||
|
||||
override fun resumeRequests(context: Context) {
|
||||
// GlideEngine中没有对应方法,可以留空
|
||||
}
|
||||
|
||||
fun clearMemory(context: Context) {
|
||||
// 可以调用Glide的清理方法
|
||||
Glide.get(context).clearMemory()
|
||||
}
|
||||
|
||||
fun loadPreImage(context: Context, url: String, imageView: ImageView) {
|
||||
GlideEngine.loadImage(imageView, url)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private fun baocun() {
|
||||
val nickname = mDataBinding.edtLoginName.text.toString().trim()
|
||||
if (TextUtils.isEmpty(nickname)) {
|
||||
"房间名称不能为空".showToast()
|
||||
@@ -238,7 +312,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
map["cate_id"] = roomType
|
||||
map["room_cover"] = mEnterRoom.room_cover
|
||||
map["room_background_id"] = room_background
|
||||
if(!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())){
|
||||
if (!TextUtils.isEmpty(mDataBinding.etPass.text.toString().trim())) {
|
||||
map["room_password"] = mDataBinding.etPass.text.toString().trim()
|
||||
}
|
||||
map["rid"] = mEnterRoom.rid
|
||||
@@ -304,6 +378,7 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
REQUEST_CODE_SELECT
|
||||
)
|
||||
}
|
||||
|
||||
1 -> {
|
||||
// 跳转到相册
|
||||
// Always true pre-M
|
||||
@@ -339,29 +414,53 @@ class RoomSetNewActivity : BaseDataBindingActivity<RoomSetViewModel, ActivityRoo
|
||||
return
|
||||
}
|
||||
val tempList: ArrayList<ImageItem>
|
||||
if (resultCode == ImagePicker.RESULT_CODE_ITEMS) {
|
||||
// if (resultCode == ImagePicker.RESULT_CODE_ITEMS) {
|
||||
// //添加图片返回
|
||||
// if (requestCode == REQUEST_CODE_SELECT) {
|
||||
// tempList =
|
||||
// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>
|
||||
// selImageList.clear()
|
||||
// selImageList.addAll(tempList)
|
||||
// if (selImageList.size > 0) {
|
||||
// Glide.with(this).load(selImageList[0].path).into(head_image)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
if (resultCode == RESULT_OK && data != null) {
|
||||
//添加图片返回
|
||||
if (requestCode == REQUEST_CODE_SELECT) {
|
||||
tempList =
|
||||
data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>
|
||||
// 处理 PictureSelector 返回的结果
|
||||
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
|
||||
|
||||
// 清空原有选择
|
||||
selImageList.clear()
|
||||
selImageList.addAll(tempList)
|
||||
|
||||
// 将 LocalMedia 转换为 ImageItem
|
||||
for (localMedia in localMediaList) {
|
||||
val imageItem = ImageItem()
|
||||
imageItem.path = localMedia.realPath // 或者使用 localMedia.compressPath
|
||||
|
||||
selImageList.add(imageItem)
|
||||
}
|
||||
|
||||
if (selImageList.size > 0) {
|
||||
Glide.with(this).load(selImageList[0].path).into(head_image)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class TagAdapter(data: List<RoomCateBean>) :
|
||||
BaseQuickAdapter<RoomCateBean, BaseViewHolder>(R.layout.item_tag_room_type, data) {
|
||||
override fun convert(helper: BaseViewHolder, item: RoomCateBean?) {
|
||||
helper.setText(R.id.tv_content, item?.category_name)
|
||||
helper.getView<TextView>(R.id.tv_content).isSelected = item!!.isSelect
|
||||
class TagAdapter(data: List<RoomCateBean>) :
|
||||
BaseQuickAdapter<RoomCateBean, BaseViewHolder>(R.layout.item_tag_room_type, data) {
|
||||
override fun convert(helper: BaseViewHolder, item: RoomCateBean?) {
|
||||
helper.setText(R.id.tv_content, item?.category_name)
|
||||
helper.getView<TextView>(R.id.tv_content).isSelected = item!!.isSelect
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user