diff --git a/app/src/main/java/com/yizhuan/erban/avroom/room_album/ChooseGiftRoomAlbumDialogFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/room_album/ChooseGiftRoomAlbumDialogFragment.kt new file mode 100644 index 000000000..4d9e5384e --- /dev/null +++ b/app/src/main/java/com/yizhuan/erban/avroom/room_album/ChooseGiftRoomAlbumDialogFragment.kt @@ -0,0 +1,83 @@ +package com.yizhuan.erban.avroom.room_album + +import android.app.Dialog +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager +import androidx.recyclerview.widget.GridLayoutManager +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.BaseViewHolder +import com.google.android.material.bottomsheet.BottomSheetDialogFragment +import com.yizhuan.erban.R +import com.yizhuan.erban.databinding.DialogChooseGiftRoomAlbumBinding +import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2 +import com.yizhuan.erban.ui.widget.recyclerview.decoration.GridSpacingItemNewDecoration +import com.yizhuan.xchat_android_core.gift.GiftModel +import com.yizhuan.xchat_android_core.gift.bean.GiftInfo +import com.yizhuan.xchat_android_core.gift.bean.GiftType + +class ChooseGiftRoomAlbumDialogFragment : BottomSheetDialogFragment() { + + private var _binding: DialogChooseGiftRoomAlbumBinding? = null + private val binding get() = _binding!! + + var onPickedListener: OnPickedListener? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setStyle(STYLE_NO_TITLE, R.style.ErbanBottomSheetDialog) + } + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val dialog = super.onCreateDialog(savedInstanceState) + dialog.window?.attributes?.apply { + width = WindowManager.LayoutParams.MATCH_PARENT + height = WindowManager.LayoutParams.MATCH_PARENT + } + + return dialog + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = DialogChooseGiftRoomAlbumBinding.inflate(layoutInflater, container, false) + + binding.rvGifts.layoutManager = GridLayoutManager(context, 4) + binding.rvGifts.addItemDecoration(GridSpacingItemNewDecoration(resources.getDimensionPixelOffset(R.dimen.dp_20), true)) + + + binding.rvGifts.adapter = object : BaseQuickAdapter(R.layout.item_gift_room_album){ + override fun convert(helper: BaseViewHolder, item: GiftInfo) { + ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_gift), item.giftUrl) + helper.setText(R.id.tv_gift, item.giftName) + helper.setText(R.id.tv_value, item.goldPrice.toString()) + } + }.apply { + val gifts = GiftModel.get().getGiftInfoList(GiftType.GIFT_TYPE_NORMAL) + setNewData(gifts) + + setOnItemClickListener { _, _, position -> + onPickedListener?.onPicked(data[position]) + } + } + + binding.ivClose.setOnClickListener { dismiss() } + + return binding.root + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + + fun interface OnPickedListener { + fun onPicked(giftInfo: GiftInfo) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/avroom/room_album/UploadRoomAlbumDialogFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/room_album/UploadRoomAlbumDialogFragment.kt index 7a22adac8..7ee2a2697 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/room_album/UploadRoomAlbumDialogFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/room_album/UploadRoomAlbumDialogFragment.kt @@ -52,7 +52,13 @@ class UploadRoomAlbumDialogFragment : BottomSheetDialogFragment() { _binding = DialogRoomAlbumUploadBinding.inflate(layoutInflater, container, false) binding.rvPhoto.layoutManager = GridLayoutManager(context, 3) - binding.rvPhoto.addItemDecoration(GridSpacingItemNewDecoration(resources.getDimensionPixelOffset(R.dimen.dp_18), true)) + binding.rvPhoto.addItemDecoration( + GridSpacingItemNewDecoration( + resources.getDimensionPixelOffset( + R.dimen.dp_18 + ), true + ) + ) photoAdapter = object : BaseMultiItemQuickAdapter( @@ -101,7 +107,34 @@ class UploadRoomAlbumDialogFragment : BottomSheetDialogFragment() { binding.rvPhoto.adapter = photoAdapter binding.rgType.setOnCheckedChangeListener { group, checkedId -> + if (checkedId == binding.rbCommon.id) { + binding.tvNoGift.visibility = View.VISIBLE + binding.groupGift.visibility = View.INVISIBLE + } else { + binding.tvNoGift.visibility = View.INVISIBLE + binding.groupGift.visibility = View.VISIBLE + } } + + binding.vGift.setOnClickListener { + val chooseGiftRoomAlbumDialogFragment = ChooseGiftRoomAlbumDialogFragment() + chooseGiftRoomAlbumDialogFragment.onPickedListener = + ChooseGiftRoomAlbumDialogFragment.OnPickedListener { + binding.tvNoGift.visibility = View.INVISIBLE + binding.groupGift.visibility = View.VISIBLE + + ImageLoadUtilsV2.loadImage(binding.ivGift, it.giftUrl) + binding.tvGiftName.text = it.giftName + binding.tvGiftValue.text = it.goldPrice.toString() + } + chooseGiftRoomAlbumDialogFragment.show( + childFragmentManager, + UploadRoomAlbumDialogFragment::class.java.simpleName + ) + } + + binding.ivClose.setOnClickListener { dismiss() } + return binding.root } diff --git a/app/src/main/res/layout/dialog_choose_gift_room_album.xml b/app/src/main/res/layout/dialog_choose_gift_room_album.xml new file mode 100644 index 000000000..efad6b295 --- /dev/null +++ b/app/src/main/res/layout/dialog_choose_gift_room_album.xml @@ -0,0 +1,41 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_room_album_upload.xml b/app/src/main/res/layout/dialog_room_album_upload.xml index 1b649dc59..af126e3e4 100644 --- a/app/src/main/res/layout/dialog_room_album_upload.xml +++ b/app/src/main/res/layout/dialog_room_album_upload.xml @@ -1,6 +1,7 @@ @@ -103,6 +104,7 @@ app:layout_constraintTop_toTopOf="@id/v_gift" /> + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file