From bd4891e2fd6b773cbb0ec387f6db4bc944fdf51a Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 31 三月 2025 18:07:51 +0800 Subject: [PATCH] feat(generallibrary): 添加卡片列表功能并优化登录逻辑 --- generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt b/generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt new file mode 100644 index 0000000..cf0d808 --- /dev/null +++ b/generallibrary/src/main/java/com/dayu/general/view/CardSearchDialog.kt @@ -0,0 +1,74 @@ +package com.dayu.general.view + +import android.app.Dialog +import android.content.Context +import android.os.Bundle +import android.view.Gravity +import android.view.LayoutInflater +import android.view.ViewGroup +import com.dayu.general.databinding.DialogCardSearchBinding + +/** + * 鍗$墖鎼滅储瀵硅瘽妗� + * 鐢ㄤ簬鎼滅储鍗″彿銆佸鎴风紪鍙枫�佸鎴峰鍚� + */ +class CardSearchDialog(context: Context) : Dialog(context) { + + private lateinit var binding: DialogCardSearchBinding + private var onSearchListener: OnSearchListener? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = DialogCardSearchBinding.inflate(LayoutInflater.from(context)) + setContentView(binding.root) + + // 璁剧疆瀵硅瘽妗嗗搴︿负灞忓箷瀹藉害鐨�85% + window?.apply { + val params = attributes + params.width = (context.resources.displayMetrics.widthPixels * 0.85).toInt() + params.height = ViewGroup.LayoutParams.WRAP_CONTENT + params.gravity = Gravity.CENTER + attributes = params + setBackgroundDrawableResource(android.R.color.transparent) + } + + // 璁剧疆鐐瑰嚮澶栭儴涓嶅彇娑堝璇濇 + setCanceledOnTouchOutside(false) + + // 璁剧疆鎼滅储鎸夐挳鐐瑰嚮浜嬩欢 + binding.btnSearch.setOnClickListener { + val cardNumber = binding.etCardNumber.text.toString().trim() + val clientNumber = binding.etClientNumber.text.toString().trim() + val clientName = binding.etClientName.text.toString().trim() + + // 鍥炶皟鎼滅储浜嬩欢 + onSearchListener?.onSearch(cardNumber, clientNumber, clientName) + dismiss() + } + + // 璁剧疆鍙栨秷鎸夐挳鐐瑰嚮浜嬩欢 + binding.tvCancel.setOnClickListener { + dismiss() + } + } + + /** + * 璁剧疆鎼滅储鐩戝惉鍣� + */ + fun setOnSearchListener(listener: OnSearchListener) { + this.onSearchListener = listener + } + + /** + * 鎼滅储鐩戝惉鍣ㄦ帴鍙� + */ + interface OnSearchListener { + /** + * 鎼滅储鍥炶皟鏂规硶 + * @param cardNumber 鍗″彿 + * @param clientNumber 瀹㈡埛缂栧彿 + * @param clientName 瀹㈡埛濮撳悕 + */ + fun onSearch(cardNumber: String, clientNumber: String, clientName: String) + } +} \ No newline at end of file -- Gitblit v1.8.0