From 0ec9693c39a910233fc186a8cefab9f61030df78 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 07 三月 2025 18:09:32 +0800
Subject: [PATCH] refactor(generallibrary):重构网络请求模块
---
generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt | 98 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 94 insertions(+), 4 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt
index d30a700..0f8a324 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt
@@ -1,28 +1,118 @@
package com.dayu.general.activity
import android.os.Bundle
+import android.view.LayoutInflater
+import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
+import com.dayu.general.R
+import com.dayu.general.adapter.TabAdapter
+import com.dayu.general.databinding.ActivityMainBinding
-class MainActivity : BaseActivity(){
+class MainActivity : BaseActivity() {
-
+ var binding: ActivityMainBinding? = null
private val fragments: ArrayList<Fragment> = ArrayList()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- setupFragments();
+ binding = ActivityMainBinding.inflate(LayoutInflater.from(this))
+ setContentView(binding?.root)
+ setupFragments()
+ initView()
+ initTab()
+
+
}
+ private fun initView() {
+ binding!!.BSCardLL.setOnClickListener { v -> changeBottomState(Tab.BSC) }
+ binding!!.rechargeLL.setOnClickListener { v -> changeBottomState(Tab.RECHARGE) }
+ binding!!.myLL.setOnClickListener { v -> changeBottomState(Tab.MY) }
+ }
private fun setupFragments() {
fragments.add(BSCardFragment())
fragments.add(RechargeFragment())
- fragments.add(BSCardFragment())
+ fragments.add(MyFragment())
}
+ private fun initTab() {
+ binding?.viewPager?.adapter = TabAdapter(this, fragments)
+ binding?.viewPager?.currentItem = (1)
+ binding?.viewPager?.offscreenPageLimit = 3
+ binding?.viewPager?.isUserInputEnabled = false
+ }
+ private enum class Tab {
+ BSC, RECHARGE, MY
+ }
+ /**
+ * 淇敼搴曢儴鐘舵��
+ */
+ private fun changeBottomState(tab: Tab) {
+ resetTabState()
+ when (tab) {
+ Tab.BSC -> updateTabUI(0, R.drawable.bottom_card_white, R.color.white)
+ Tab.RECHARGE -> updateTabUI(1, R.drawable.bottom_recharge_white, R.color.white)
+ Tab.MY -> updateTabUI(2, R.drawable.bottom_my_white, R.color.white)
+ }
+ }
+ /**
+ * 閲嶇疆鎵�鏈� Tab 鐨勯粯璁ょ姸鎬�
+ */
+ private fun resetTabState() {
+ binding!!.BSCardImg.setImageDrawable(
+ ContextCompat.getDrawable(
+ this,
+ R.drawable.bottom_card_black
+ )
+ )
+ binding!!.BSCardText.setTextColor(ContextCompat.getColor(this, R.color.black))
+ binding!!.rechargeImg.setImageDrawable(
+ ContextCompat.getDrawable(
+ this,
+ R.drawable.bottom_recharge_black
+ )
+ )
+ binding!!.rechargeText.setTextColor(ContextCompat.getColor(this, R.color.black))
+
+ binding!!.myImg.setImageDrawable(
+ ContextCompat.getDrawable(
+ this,
+ R.drawable.bottom_my_black
+ )
+ )
+ binding!!.myText.setTextColor(ContextCompat.getColor(this, R.color.black))
+ }
+
+ /**
+ * 鏇存柊鏌愪釜 Tab 鐨� UI 鐘舵��
+ */
+ private fun updateTabUI(position: Int, iconResId: Int, textColorResId: Int) {
+ if (position == 1) {
+ binding!!.viewPager.setCurrentItem(position, true)
+ } else {
+ binding!!.viewPager.setCurrentItem(position, false)
+ }
+ when (position) {
+ 0 -> {
+ binding!!.BSCardImg.setImageDrawable(ContextCompat.getDrawable(this, iconResId))
+ binding!!.BSCardText.setTextColor(ContextCompat.getColor(this, textColorResId))
+ }
+
+ 1 -> {
+ binding!!.rechargeImg.setImageDrawable(ContextCompat.getDrawable(this, iconResId))
+ binding!!.rechargeText.setTextColor(ContextCompat.getColor(this, textColorResId))
+ }
+
+ 2 -> {
+ binding!!.myImg.setImageDrawable(ContextCompat.getDrawable(this, iconResId))
+ binding!!.myText.setTextColor(ContextCompat.getColor(this, textColorResId))
+ }
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0