From 75f59fa9a615e3584694e820ff83503e8b72ea16 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 14 三月 2025 16:55:31 +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