1:完成才艺展示功能
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
package com.xscm.modulemain.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.view.Gravity
|
||||
import android.view.ViewGroup
|
||||
import com.blankj.utilcode.util.ActivityUtils
|
||||
import com.blankj.utilcode.util.GsonUtils
|
||||
import com.blankj.utilcode.util.LogUtils
|
||||
import com.blankj.utilcode.util.ScreenUtils
|
||||
import com.hjq.toast.ToastUtils
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.activity.room.activity.RoomActivity
|
||||
import com.xscm.modulemain.adapter.RoomTalentAdapter
|
||||
import com.xscm.modulemain.databinding.DialogRoomTalentBinding
|
||||
import com.xscm.moduleutil.bean.RoomInputEvent
|
||||
import com.xscm.moduleutil.bean.RoomMessageEvent
|
||||
import com.xscm.moduleutil.bean.RoomMessageEvent.T
|
||||
import com.xscm.moduleutil.http.BaseObserver
|
||||
import com.xscm.moduleutil.http.RetrofitClient
|
||||
import com.xscm.moduleutil.listener.MessageListenerSingleton
|
||||
import com.xscm.moduleutil.utils.SpUtil
|
||||
import com.xscm.moduleutil.widget.dialog.BaseDialog
|
||||
import com.xscm.moduleutil.widget.floatingView.IFloatingView
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.nio.charset.StandardCharsets
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/11/28 9:25
|
||||
* 用途:签约房中的展示才艺
|
||||
*/
|
||||
class RoomTalentDialog(context: Context, val roomId: String) :
|
||||
BaseDialog<DialogRoomTalentBinding>(context, com.xscm.moduleutil.R.style.BaseDialogStyleH) {
|
||||
|
||||
var adapter: RoomTalentAdapter? = null
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.dialog_room_talent
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
setupWindow()
|
||||
mBinding.tvQx.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
mBinding.tvQd.setOnClickListener {
|
||||
if (adapter?.getSelectedValue()?.isEmpty() == true) {
|
||||
ToastUtils.show("请选择才艺")
|
||||
} else {
|
||||
var messageEvent =
|
||||
RoomInputEvent(SpUtil.getUserInfo().nickname + "选择了" + adapter?.getSelectedValue() + "才艺")
|
||||
(ActivityUtils.getTopActivity() as? RoomActivity)?.let { roomActivity ->
|
||||
roomActivity.dialogMessage(messageEvent)
|
||||
}
|
||||
}
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override fun initData() {
|
||||
RetrofitClient.getInstance().skillList(object : BaseObserver<MutableList<String>>() {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
}
|
||||
|
||||
override fun onNext(t: MutableList<String>) {
|
||||
if (t.isNotEmpty()) {
|
||||
|
||||
t.addAll(t)
|
||||
t.addAll(t)
|
||||
t.addAll(t)
|
||||
adapter = RoomTalentAdapter(t) { selectedValue, position ->
|
||||
// 处理选中事件
|
||||
LogUtils.e("选中了: $selectedValue, 位置: $position")
|
||||
}
|
||||
|
||||
// 设置GridLayoutManager,每行显示4个item
|
||||
val layoutManager =
|
||||
androidx.recyclerview.widget.GridLayoutManager(context, 4)
|
||||
mBinding.recycleView.layoutManager = layoutManager
|
||||
mBinding.recycleView.adapter = adapter
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
private fun setupWindow() {
|
||||
val window = window ?: return
|
||||
window.setGravity(Gravity.BOTTOM)
|
||||
window.setLayout(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
(ScreenUtils.getAppScreenHeight() * 348f / 812).toInt()
|
||||
)
|
||||
window.setBackgroundDrawableResource(android.R.color.transparent)
|
||||
|
||||
val params = window.attributes
|
||||
params.windowAnimations = com.xscm.moduleutil.R.style.BaseDialogStyleH
|
||||
window.attributes = params
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user