From f8e8657159548c466b31ddcc5a30c4b798f96528 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Fri, 12 Dec 2025 16:30:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E7=8E=B0root=20act=20UI=E8=B0=83?= =?UTF-8?q?=E6=95=B41?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../features/withdraw/WithDrawActivity.kt | 34 +-- .../withdraw/widget/WithDrawItemBankView.kt | 54 +++++ .../withdraw/widget/WithDrawItemView.kt | 5 - .../main/res/drawable/bg_withdraw_item.xml | 6 + .../res/drawable/bg_withdraw_item_left.xml | 7 + app/src/main/res/layout/activity_withdraw.xml | 222 +++++++----------- .../res/layout/withdraw_item_bank_view.xml | 50 ++++ .../main/res/layout/withdraw_item_view.xml | 95 ++++++-- app/src/main/res/values/colors.xml | 1 + app/src/main/res/values/strings.xml | 3 + 10 files changed, 302 insertions(+), 175 deletions(-) create mode 100644 app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemBankView.kt create mode 100644 app/src/main/res/drawable/bg_withdraw_item.xml create mode 100644 app/src/main/res/drawable/bg_withdraw_item_left.xml create mode 100644 app/src/main/res/layout/withdraw_item_bank_view.xml diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt index 7d982a3..89c1050 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt @@ -93,25 +93,11 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { }) - withdrawPix2.setSelectedState(true) + //withdrawPix2.setSelectedState(true) updateUIItemSelectStates(0) - setOnClickBatch(tvSacar, withdrawRecord) { + setOnClickBatch(withdrawRecord) { when(this) { - tvSacar -> { - if (mItemViewList.get(mCurSelectedIndex).getCashNum() > 1F) { - gotoWithdrawSubActivity(mCurSelectedIndex) - } else { - val hasBindBank = AccountManager.hasValidBankInfo() - val cashNum = mItemViewList.get(mCurSelectedIndex).getCashNum() - if (!hasBindBank) { - WithdrawBindBankDialog(this@WithDrawActivity).setWithDrawCashNum(cashNum).show() - } else { - WithdrawInfoConfirmDialog(this@WithDrawActivity).setWithDrawCashNum(cashNum).show() - } - } - } - withdrawRecord -> { Router.WithdrawRecord.startActivity(this@WithDrawActivity) } @@ -124,7 +110,21 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { private fun updateUIItemSelectStates(itemIndex: Int) { mCurSelectedIndex = itemIndex mItemViewList.forEachIndexed { index, view -> - view.setSelectedState(index == mCurSelectedIndex) + //view.setSelectedState(index == mCurSelectedIndex) + } + } + + private fun handleGotoWithdraw() { + if (mItemViewList.get(mCurSelectedIndex).getCashNum() > 1F) { + gotoWithdrawSubActivity(mCurSelectedIndex) + } else { + val hasBindBank = AccountManager.hasValidBankInfo() + val cashNum = mItemViewList.get(mCurSelectedIndex).getCashNum() + if (!hasBindBank) { + WithdrawBindBankDialog(this@WithDrawActivity).setWithDrawCashNum(cashNum).show() + } else { + WithdrawInfoConfirmDialog(this@WithDrawActivity).setWithDrawCashNum(cashNum).show() + } } } diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemBankView.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemBankView.kt new file mode 100644 index 0000000..a690ae0 --- /dev/null +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemBankView.kt @@ -0,0 +1,54 @@ +package com.gamedog.vididin.features.withdraw.widget + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.widget.LinearLayout +import com.ama.core.architecture.util.ResUtil +import com.vididin.real.money.game.R +import com.vididin.real.money.game.databinding.WithdrawItemBankViewBinding as ViewBinding + + +class WithDrawItemBankView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : LinearLayout(context, attrs, defStyleAttr) { + private var mItemIndex: Int = 0 + private var mIsSelected = false + private var mBinding: ViewBinding + + + init { + mBinding = ViewBinding.inflate(LayoutInflater.from(context), this, true) + } + + + /** + * For withdraw number in top area + */ + fun setNumAndAction(itemIndex: Int, clickAction: (Int)->Unit) { + mItemIndex = itemIndex + mBinding.root.setOnClickListener { + clickAction.invoke(mItemIndex) + } + } + + + /** + * For bank item in bottom area + */ + fun setIconAndText(iconRes: Int, textRes: Int, clickAction: ()->Unit) { + mBinding.tvWithdrawNum.text = ResUtil.getString(textRes) + mBinding.ivItemIcon.setImageResource(iconRes) + mBinding.root.setOnClickListener { + clickAction.invoke() + } + } + + fun setSelectedState(isSelected: Boolean) { + mIsSelected = isSelected + mBinding.root.setBackgroundResource(if (mIsSelected) R.drawable.withdraw_item_bg_selected else R.drawable.withdraw_item_bg_unselected) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt index ebbece9..acdfa69 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt @@ -15,7 +15,6 @@ class WithDrawItemView @JvmOverloads constructor( defStyleAttr: Int = 0 ) : LinearLayout(context, attrs, defStyleAttr) { private var mItemIndex: Int = 0 - private var mIsSelected = false private var mCashNum: Float = 0F private var mBinding: ViewBinding @@ -49,10 +48,6 @@ class WithDrawItemView @JvmOverloads constructor( } } - fun setSelectedState(isSelected: Boolean) { - mIsSelected = isSelected - mBinding.root.setBackgroundResource(if (mIsSelected) R.drawable.withdraw_item_bg_selected else R.drawable.withdraw_item_bg_unselected) - } fun getCashNum(): Float { return mCashNum diff --git a/app/src/main/res/drawable/bg_withdraw_item.xml b/app/src/main/res/drawable/bg_withdraw_item.xml new file mode 100644 index 0000000..8b9fecb --- /dev/null +++ b/app/src/main/res/drawable/bg_withdraw_item.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/drawable/bg_withdraw_item_left.xml b/app/src/main/res/drawable/bg_withdraw_item_left.xml new file mode 100644 index 0000000..2c44396 --- /dev/null +++ b/app/src/main/res/drawable/bg_withdraw_item_left.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_withdraw.xml b/app/src/main/res/layout/activity_withdraw.xml index 5036187..02e588e 100644 --- a/app/src/main/res/layout/activity_withdraw.xml +++ b/app/src/main/res/layout/activity_withdraw.xml @@ -3,7 +3,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> - + - - - - - - - + android:layout_marginBottom="10dp"> - + - + + + + + - + android:layout_marginHorizontal="15dp" + android:layout_marginBottom="15dp" + android:orientation="vertical"> + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/withdraw_item_bank_view.xml b/app/src/main/res/layout/withdraw_item_bank_view.xml new file mode 100644 index 0000000..598363f --- /dev/null +++ b/app/src/main/res/layout/withdraw_item_bank_view.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/withdraw_item_view.xml b/app/src/main/res/layout/withdraw_item_view.xml index 387f293..0a03fcc 100644 --- a/app/src/main/res/layout/withdraw_item_view.xml +++ b/app/src/main/res/layout/withdraw_item_view.xml @@ -1,26 +1,24 @@ - + android:layout_height="76dp" + android:orientation="horizontal" + android:gravity="center_vertical" + android:layout_margin="@dimen/dp1" + android:background="@drawable/bg_withdraw_item"> + android:gravity="center_horizontal" + android:background="@drawable/bg_withdraw_item_left"> + @@ -30,14 +28,75 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="7dp" - android:textSize="15sp" + android:textSize="18sp" android:textStyle="bold" - android:textColor="@color/green_1a" + android:textColor="@color/white" android:text="@string/cash00" /> + + + + + + + + + + + - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index ceee7c5..a6cffd7 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -100,5 +100,6 @@ #FFFF7F00 #FFFEE000 #FF29CE00 + #ffd8eade \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cba2645..8f1ccf2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -144,5 +144,8 @@ 1. Grandes quantias em dinheiro sro distribuidas em vários dias;todas asrecompensas sao reais e válidas.\n2. Assistir a videos na p¡gina atual pode aumentar o progresso datarefa. Quando oprogresso atingir 100%, a recompensa diária emdinheiro pode ser reivindicada.\n3. Após reivindicar uma recompensa com sucesso, vocé podereceber a proximarecompensa em dinheiro no dia sequinte.4. Se a reivindicacao falhar, verifique se as informac\'es da contaestaopreenchidas corretamente e tente reivindicar a recompensaem dinheironovamente.\n5.Se houver comportamento de fraude, o sistema banirá a contae a colocara na Recompensas Diárias em Dinheiro Clique em \"Saque Já\" para acelerar + Consumo de moedas + % + Vincular conta para saque \ No newline at end of file