银行账号数据结构 绑定dialog UI

This commit is contained in:
renhaoting 2025-11-27 16:30:33 +08:00
parent 1b35da0a4e
commit 2b66b84e3e
22 changed files with 198 additions and 120 deletions

View File

@ -8,4 +8,11 @@ data class Account(
val createdAt: Long,
var goldCount: Long = 0L,
var cashCount: Float = 0F,
var bankInfo: BankInfo? = null,
)
data class BankInfo(
val bankName: String = "Pix2",
var bankAccount: String,
)

View File

@ -5,10 +5,10 @@ import android.content.Intent
import android.view.LayoutInflater
import androidx.activity.viewModels
import com.ama.core.architecture.appBase.AppViewsActivity
import com.ama.core.architecture.util.ResUtil
import com.ama.core.architecture.util.setOnClickBatch
import com.gamedog.vididin.R
import com.gamedog.vididin.VididinEvents
import com.gamedog.vididin.beans.Account
import com.gamedog.vididin.core.login.login.AccountManager
import com.gamedog.vididin.features.withdraw.widget.WithDrawItemView
import com.gamedog.vididin.main.interfaces.OnTabStyleListener
@ -36,7 +36,13 @@ class WithDrawActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), On
}
override fun ViewBinding.initViews() {
with(binding) {
mItemViewList.add(withdraw01)
mItemViewList.add(withdraw10)
mItemViewList.add(withdraw20)
mItemViewList.add(withdraw50)
mItemViewList.add(withdraw100)
mItemViewList.add(withdraw300)
withdraw01.setNumAndAction(0, 0.1F,
{ itemIndex->
updateUIItemSelectStates(itemIndex)
@ -72,26 +78,23 @@ class WithDrawActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), On
})
withdrawPix2.setSelectedState(true)
updateUIItemSelectStates(0)
setOnClickBatch(tvSacar, withdrawRecord) {
when(this) {
tvSacar -> {
val hasBindBank = AccountManager.hasValidBankInfo()
if (!hasBindBank) {
WithdrawBindBankDialog(this@WithDrawActivity).show()
}
}
withdrawRecord -> {
Router.WithdrawRecord.startActivity(this@WithDrawActivity)
}
}
}
}
mItemViewList.add(withdraw01)
mItemViewList.add(withdraw10)
mItemViewList.add(withdraw20)
mItemViewList.add(withdraw50)
mItemViewList.add(withdraw100)
mItemViewList.add(withdraw300)
updateUICashTotal()
}

View File

@ -17,8 +17,8 @@ class WithdrawBindBankDialog(context: Context) : BindingDialog<ViewBinding>(cont
private fun build() {
with()
setCenter()
setMaskValue(0.8f)
setBottom()
setMaskValue(0.9f)
setCanCancel(false)
mBinding.run {

View File

@ -6,7 +6,7 @@ import com.ama.core.architecture.util.SpUtil
import com.ama.core.architecture.util.eventbus.NotifyMan
import com.gamedog.vididin.VididinEvents
import com.gamedog.vididin.beans.Account
import com.gamedog.vididin.beans.BankInfo
object AccountManager {
@ -51,6 +51,14 @@ object AccountManager {
NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Cash_Changed, null)
}
fun getBankInfo(): BankInfo? {
return mAccount?.bankInfo
}
fun hasValidBankInfo(): Boolean {
val backInfo = getBankInfo()
return !backInfo?.bankName.isNullOrEmpty() && !backInfo.bankAccount.isNullOrEmpty()
}
}

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffffff" />
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" />
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffeeeeee" />
<corners android:topLeftRadius="25dp" android:topRightRadius="25dp" android:bottomLeftRadius="25dp" android:bottomRightRadius="25dp" />
</shape>

View File

@ -334,7 +334,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

View File

@ -89,7 +89,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="64dp"
android:src="@mipmap/icon_close"/>
android:src="@mipmap/icon_close_with_circle"/>
</LinearLayout>

View File

@ -12,7 +12,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="right"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
android:layout_marginTop="10dp"
/>

View File

@ -2,8 +2,30 @@
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:paddingVertical="20dp"
android:paddingHorizontal="15dp"
android:background="@drawable/bg_binding_bank_dialog"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="500dp"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/gray3"
android:text="@string/bind_bank_title"
/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_close"
@ -12,65 +34,81 @@
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:tint="@color/black"
android:layout_marginEnd="30dp"
android:layout_alignParentEnd="true"
/>
</RelativeLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:textSize="14sp"
android:textStyle="bold"
android:textColor="@color/gray9"
android:text="@string/bind_bank_desc"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="15dp"
android:layout_marginTop="60dp"
android:clipChildren="false"
android:gravity="center_horizontal"
android:background="@drawable/bg_benefit_top_white"
>
android:orientation="horizontal"
android:layout_marginTop="20dp"
android:gravity="center_vertical"
android:paddingVertical="16dp"
android:paddingHorizontal="20dp"
android:background="@drawable/bg_binding_bank_edit">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:id="@+id/tv_cpf_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textSize="18sp"
android:textColor="@color/black_28"
android:text="@string/zero_buy_rule_dialog_title"
android:textSize="15sp"
android:textStyle="bold"
android:textColor="@color/gray3"
android:text="@string/bind_bank_cpf_title"
/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_desc"
android:layout_width="wrap_content"
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/tv_cpf_edit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_weight="1"
android:layout_marginHorizontal="10dp"
android:textSize="14sp"
android:textStyle="bold"
android:background="@null"
android:textColor="@color/gray6"
android:text="@string/zero_buy_rule_dialog_descript"
android:hint="Please Input you CPF number"
/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_rules_1"
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textSize="14sp"
android:textColor="@color/gray9"
android:text="@string/zero_buy_rule_dialog_rule"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_success"
android:layout_alignParentEnd="true"
/>
</LinearLayout>
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_confirm"
android:layout_width="240dp"
android:layout_height="50dp"
android:layout_width="match_parent"
android:layout_height="46dp"
android:layout_marginTop="20dp"
android:background="@drawable/bg_but_zero_buy_dialog"
android:textSize="18sp"
android:textColor="@color/white"
android:text="@string/understood"
android:text="@string/continue1"
android:gravity="center"
android:layout_gravity="bottom"
/>
</LinearLayout>
</FrameLayout>

View File

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

View File

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

View File

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

View File

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

View File

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

View File

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

View File

@ -11,7 +11,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="end"
android:src="@mipmap/icon_close"
android:src="@mipmap/icon_close_with_circle"
android:layout_marginEnd="30dp"
/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -70,6 +70,11 @@
<string name="daily_sign_but_text_1">Fazer Login Agora</string>
<string name="daily_sign_but_text_2">Recuperar Login</string>
<string name="daily_sign_but_text_3">Disponível amanhã</string>
<string name="bind_bank_title">Informações de retirada</string>
<string name="bind_bank_desc">*Atenção: Para garantir que seu saque seja processado sem problemas, preencha os dados corretamente.</string>
<string name="bind_bank_cpf_title">#CPF</string>
<string name="continue1">Continuar</string>
</resources>