feat : 礼物数量 选择初步 提交

This commit is contained in:
eggmanQQQ
2025-02-19 11:13:13 +08:00
parent 96c9479203
commit 70475fc84e
10 changed files with 114 additions and 36 deletions

View File

@@ -30,12 +30,12 @@ class CoinTipsView : FrameLayout {
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs){initView(context)}
lateinit var mRootViewBinding : ViewCoinTipsBinding
var mCoin : Int?=null
var mCoin : Long?=null
private fun initView(context: Context) {
mRootViewBinding = ViewCoinTipsBinding.inflate(LayoutInflater.from(context),this,true)
mCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toInt()
mCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toLong()
mRootViewBinding.price.text = mCoin?.toString()?:""
}
@@ -120,7 +120,7 @@ class CoinTipsView : FrameLayout {
* number != null ,表示 接收中奖消息, 这时展示增加
*/
private fun setCoinText(number: String?,isAdd: Boolean) : String? {
val newCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toInt()
val newCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toLong()
val oldCoin = if (mCoin != null ) mCoin else newCoin
val num = newCoin - oldCoin!!

View File

@@ -53,6 +53,7 @@ import com.chwl.app.ui.gift.dialog.PageIndicatorView;
import com.chwl.app.ui.pay.ChargeActivity;
import com.chwl.app.ui.utils.ImageLoadUtils;
import com.chwl.app.ui.webview.DialogWebViewActivity;
import com.chwl.app.ui.widget.adapter.GiftDialogNumberAdapter;
import com.chwl.app.ui.widget.dialog.GiftManualQuantityDialog;
import com.chwl.app.ui.widget.drawgift.DrawGiftHelper;
import com.chwl.app.ui.widget.drawgift.DrawGiftView;
@@ -60,6 +61,7 @@ import com.chwl.app.ui.widget.magicindicator.GiftIndicator;
import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil;
import com.chwl.app.ui.widget.recyclerview.decoration.VerticalDecoration;
import com.chwl.app.utils.RegexUtil;
import com.chwl.app.utils.RoomHelperManager;
import com.chwl.app.utils.SpannableBuilder;
import com.chwl.app.vip.VipCenterActivity;
import com.chwl.core.UriProvider;
@@ -219,6 +221,8 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
private TextView tvNickLevel;
private View llStarWeek;
private GiftDialogNumberAdapter mGiftDialogNumberAdapter;
public GiftDialog(Context context, int giftId) {
this(context, 0, true, false, true, giftId);
@@ -1233,24 +1237,26 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
private void initEasyPop(boolean isBag) {
easyPopup = new EasyPopup(getContext())
.setContentView(R.layout.dialog_gift_number)
.setContentView(R.layout.dialog_gift_number_new)
.setFocusAndOutsideEnable(true)
.createPopup();
easyPopup.getView(R.id.number_1).setOnClickListener(this);
easyPopup.getView(R.id.number_10).setOnClickListener(this);
easyPopup.getView(R.id.number_66).setOnClickListener(this);
easyPopup.getView(R.id.number_99).setOnClickListener(this);
easyPopup.getView(R.id.number_188).setOnClickListener(this);
easyPopup.getView(R.id.number_520).setOnClickListener(this);
easyPopup.getView(R.id.number_1314).setOnClickListener(this);
if (isBag) {
easyPopup.getView(R.id.number_all).setVisibility(View.VISIBLE);
easyPopup.getView(R.id.number_all).setOnClickListener(this);
} else {
easyPopup.getView(R.id.number_all).setVisibility(View.GONE);
RecyclerView rvNumList = easyPopup.getView(R.id.rvNumList);
if (rvNumList == null) return;
if (mGiftDialogNumberAdapter == null) {
mGiftDialogNumberAdapter = new GiftDialogNumberAdapter();
mGiftDialogNumberAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
OtherExtKt.isVerify(mGiftDialogNumberAdapter.getData(), i, integer -> {
updateNumber(integer);
return null;
});
}
});
}
easyPopup.getView(R.id.number_manual).setOnClickListener(this);
rvNumList.setAdapter(mGiftDialogNumberAdapter);
mGiftDialogNumberAdapter.setNewData(RoomHelperManager.INSTANCE.getGiftNumbers(isBag));
easyPopup.setOnDismissListener(() -> giftNumberOptions.animate().rotationBy(180).start());
}

View File

@@ -0,0 +1,12 @@
package com.chwl.app.ui.widget.adapter
import com.chwl.app.bindadapter.BaseBindingAdapter
import com.chwl.app.databinding.ItemGiftNumberNewBinding
class GiftDialogNumberAdapter : BaseBindingAdapter<ItemGiftNumberNewBinding, Int>() {
override fun onBindView(viewBinding: ItemGiftNumberNewBinding, data: Int, pos: Int) {
viewBinding.number.text = if (data == -1) "all" else data.toString()
}
}

View File

@@ -22,6 +22,7 @@ import com.chwl.library.common.file.FileHelper
import com.chwl.library.common.util.doLog
import com.chwl.library.common.util.doToast
import com.chwl.library.common.util.doToastDeBug
import com.chwl.library.common.util.isVerify
import com.chwl.library.net.rxnet.RxNet
import com.google.gson.JsonElement
import com.hjq.toast.ToastUtils
@@ -39,6 +40,7 @@ import java.util.Locale
object RoomHelperManager {
var mLuckyBagConfig : LuckyBagConfig?= null
var mGiftNumbers : MutableList<Int>?=null
//
// fun getTimeDown(beginTime:Long) : Long {
@@ -182,6 +184,18 @@ object RoomHelperManager {
.compose(RxHelper.handleSchedulers())
}
fun getGiftNumbers(isBag: Boolean): MutableList<Int> {
var data = mutableListOf(1,7,17)
if (mGiftNumbers.isVerify()) {
data = mGiftNumbers!!
}
if (isBag) {
data.add(-1)
}
return data
}
private val api: Api = RxNet.create(Api::class.java);
interface Api {

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:minWidth="@dimen/dp_120"
android:background="@drawable/shape_bg_dialog_gift_number"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvNumList"
tools:listitem="@layout/item_gift_number_new"
android:layout_width="match_parent"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="1"
android:orientation="vertical"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginBottom="@dimen/dp_5"
android:layout_height="wrap_content"/>
</LinearLayout>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_25"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginEnd="@dimen/dp_16"
tools:background="@color/blue"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="1"
android:textColor="@color/appColor"
android:textSize="@dimen/dp_11"
tools:ignore="HardcodedText,SpUsage" />
</LinearLayout>

View File

@@ -2,13 +2,7 @@ package com.chwl.app.module_hall.im.msgholder;
import android.graphics.Color;
import android.graphics.Typeface;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.text.style.MetricAffectingSpan;
import android.util.TypedValue;
import android.view.View;
import android.widget.TextView;
@@ -16,13 +10,6 @@ import androidx.appcompat.widget.AppCompatTextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.alibaba.fastjson.JSON;
import com.coorchice.library.SuperTextView;
import com.example.lib_utils.spannable.SpannableTextBuilder;
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.orhanobut.logger.Logger;
import com.chwl.app.R;
import com.chwl.app.module_hall.im.NimHelper;
import com.chwl.app.module_hall.im.dialog.AgreeApplyDialog;
@@ -40,6 +27,13 @@ import com.chwl.core.module_hall.im.bean.HallMsgLayout;
import com.chwl.core.utils.net.BeanObserver;
import com.chwl.library.utils.ResUtil;
import com.chwl.library.utils.SingleToastUtil;
import com.coorchice.library.SuperTextView;
import com.example.lib_utils.spannable.SpannableTextBuilder;
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.orhanobut.logger.Logger;
import org.greenrobot.eventbus.EventBus;
@@ -52,7 +46,7 @@ import java.util.Objects;
* 模厅im消息展示
* Created by lvzebiao on 2019/1/7.
*/
//todo do 更新云信消息扩展字段 示例
public class HallMsgViewHolder extends MsgViewHolderBase {
private ConstraintLayout clContainer;