XiaodongLin 1 рік тому
батько
коміт
8fca2706a8

+ 10 - 9
app/src/main/java/com/adealink/weparty/ui/home/BaseHomeFragment.kt

@@ -50,7 +50,6 @@ import com.adealink.weparty.ui.home.util.HomeUIUtil
 import com.adealink.weparty.ui.tab.HOME_TABS
 import com.adealink.weparty.ui.tab.ITabManager
 import com.adealink.weparty.ui.tab.Tab
-import com.adealink.weparty.widget.skin.SkinResourceStatus
 import com.google.android.material.tabs.TabLayout
 import com.google.android.material.tabs.TabLayoutMediator
 
@@ -130,11 +129,13 @@ abstract class BaseHomeFragment : BaseFragment, ITabManager {
     ) {
         tabView?.customView?.let {
             val customViewBinding = LayoutMainTabNormalBinding.bind(it)
-            if (isSelected) {
-                customViewBinding.ivTabIcon.setSkinStyle(SkinResourceStatus.SELECTED)
-            } else {
-                customViewBinding.ivTabIcon.setSkinStyle(SkinResourceStatus.NORMAL)
-            }
+            customViewBinding.ivTabIcon.setImageURI(
+                if (isSelected) {
+                    HOME_TABS[position].selectedImage
+                } else {
+                    HOME_TABS[position].normalImage
+                }
+            )
         }
     }
 
@@ -207,7 +208,7 @@ abstract class BaseHomeFragment : BaseFragment, ITabManager {
     override fun observeViewModel() {
         super.observeViewModel()
         anchorViewModel?.anchorMessageLD?.observe(viewLifecycleOwner,
-            object : Observer<AnchorMessage>{
+            object : Observer<AnchorMessage> {
                 override fun onChanged(value: AnchorMessage) {
                     handleAnchorMessage(value)
                 }
@@ -215,7 +216,7 @@ abstract class BaseHomeFragment : BaseFragment, ITabManager {
         )
         observeMedal()
         operationViewModel?.rateAppNotifyLD?.observe(viewLifecycleOwner,
-            object :Observer<Unit>{
+            object : Observer<Unit> {
                 override fun onChanged(value: Unit) {
                     showRateAppDialog()
                 }
@@ -225,7 +226,7 @@ abstract class BaseHomeFragment : BaseFragment, ITabManager {
 
     private fun observeMedal() {
         medalViewModel?.medalAchieveLiveData?.observe(viewLifecycleOwner,
-            object : Observer<MedalData>{
+            object : Observer<MedalData> {
                 override fun onChanged(it: MedalData) {
                     val fragment =
                         this@BaseHomeFragment.childFragmentManager.findFragmentByTag(Medal.MedalAchieve.TAG)

+ 4 - 14
app/src/main/java/com/adealink/weparty/ui/home/HomeFragment.kt

@@ -13,16 +13,11 @@ import com.adealink.weparty.ui.tab.ITabManager
 import com.adealink.weparty.ui.tab.MESSAGE_TAB
 import com.adealink.weparty.ui.tab.ME_TAB
 import com.adealink.weparty.ui.tab.MOMENT_TAB
-import com.adealink.weparty.ui.tab.PARTY_TAB
 import com.adealink.weparty.ui.tab.ROOM_LIST_TAB
 import com.adealink.weparty.ui.tab.Tab
 import com.adealink.weparty.ui.tab.TabManager
+import com.adealink.weparty.ui.tab.USER_LIST_TAB
 import com.adealink.weparty.widget.skin.homeTabBgSkin
-import com.adealink.weparty.widget.skin.meTabSkin
-import com.adealink.weparty.widget.skin.messageTabSkin
-import com.adealink.weparty.widget.skin.momentTabSkin
-import com.adealink.weparty.widget.skin.roomTabSkin
-import com.adealink.weparty.widget.skin.squareTabSkin
 import com.google.android.material.tabs.TabLayout
 
 class HomeFragment : BaseHomeFragment(R.layout.fragment_home), ITabManager by TabManager() {
@@ -51,28 +46,23 @@ class HomeFragment : BaseHomeFragment(R.layout.fragment_home), ITabManager by Ta
 
     override fun onConfigureTab(tab: Tab, binding: LayoutMainTabNormalBinding) {
         super.onConfigureTab(tab, binding)
-        binding.ivTabIcon.setDefaultDrawable(tab.icon)
         when (tab) {
-            ROOM_LIST_TAB -> {
-                binding.ivTabIcon.observeSkin(viewLifecycleOwner, roomTabSkin)
+            USER_LIST_TAB -> {
+
             }
 
-            PARTY_TAB -> {
-                binding.ivTabIcon.observeSkin(viewLifecycleOwner, squareTabSkin)
+            ROOM_LIST_TAB -> {
             }
 
             MOMENT_TAB -> {
-                binding.ivTabIcon.observeSkin(viewLifecycleOwner, momentTabSkin)
                 binding.tabDotView.observeDot(viewLifecycleOwner, momentDot)
             }
 
             MESSAGE_TAB -> {
-                binding.ivTabIcon.observeSkin(viewLifecycleOwner, messageTabSkin)
                 binding.tabDotView.observeDot(viewLifecycleOwner, messageDot)
             }
 
             ME_TAB -> {
-                binding.ivTabIcon.observeSkin(viewLifecycleOwner, meTabSkin)
                 binding.tabDotView.observeDot(viewLifecycleOwner, meDot)
             }
 

+ 11 - 17
app/src/main/java/com/adealink/weparty/ui/tab/HomeTab.kt

@@ -1,16 +1,15 @@
 package com.adealink.weparty.ui.tab
 
-import com.adealink.frame.aab.util.getCompatDrawable
 import com.adealink.frame.router.Router
 import com.adealink.weparty.R
 import com.adealink.weparty.commonui.BaseFragment
 import com.adealink.weparty.commonui.widget.EmptyFragment
 import com.adealink.weparty.module.message.Message
 import com.adealink.weparty.module.moment.Moment
-import com.adealink.weparty.module.party.Party
 import com.adealink.weparty.module.profile.Profile
 import com.adealink.weparty.module.room.Room
 import com.adealink.weparty.module.userlist.UserList
+import com.facebook.common.util.UriUtil
 
 enum class HomeTab {
     /**
@@ -23,11 +22,6 @@ enum class HomeTab {
      */
     ROOM_LIST,
 
-    /**
-     * 活动广场
-     */
-    PARTY,
-
     /**
      * 消息
      */
@@ -46,34 +40,34 @@ enum class HomeTab {
 
 var ROOM_LIST_TAB = Tab(
     HomeTab.ROOM_LIST,
-    getCompatDrawable(R.drawable.app_roomlist_sel)
+    UriUtil.getUriForResourceId(R.drawable.app_tab_room_list_ic).toString(),
+    UriUtil.getUriForResourceId(R.drawable.app_tab_room_list_selected_ic).toString()
 ) { Router.getRouterInstance<BaseFragment>(Room.RoomList.PATH) ?: EmptyFragment() }
 
 var ME_TAB = Tab(
     HomeTab.ME,
-    getCompatDrawable(R.drawable.app_me_sel)
+    UriUtil.getUriForResourceId(R.drawable.app_tab_me_ic).toString(),
+    UriUtil.getUriForResourceId(R.drawable.app_tab_me_selected_ic).toString()
 ) { Router.getRouterInstance<BaseFragment>(Profile.Me.PATH) ?: EmptyFragment() }
 
-var PARTY_TAB = Tab(
-    HomeTab.PARTY,
-    getCompatDrawable(R.drawable.app_party_sel)
-) { Router.getRouterInstance<BaseFragment>(Party.PartyHome.PATH) ?: EmptyFragment() }
-
 var MESSAGE_TAB = Tab(
     HomeTab.MESSAGE,
-    getCompatDrawable(R.drawable.app_message_sel)
+    UriUtil.getUriForResourceId(R.drawable.app_tab_message_ic).toString(),
+    UriUtil.getUriForResourceId(R.drawable.app_tab_message_selected_ic).toString()
 ) { Router.getRouterInstance<BaseFragment>(Message.Home.PATH) ?: EmptyFragment() }
 
 var MOMENT_TAB = Tab(
     HomeTab.MOMENT,
-    getCompatDrawable(R.drawable.app_moment_sel)
+    UriUtil.getUriForResourceId(R.drawable.app_tab_moment_ic).toString(),
+    UriUtil.getUriForResourceId(R.drawable.app_tab_moment_selected_ic).toString()
 ) {
     Router.getRouterInstance<BaseFragment>(Moment.Home.PATH) ?: EmptyFragment()
 }
 
 var USER_LIST_TAB = Tab(
     HomeTab.USER_LIST,
-    getCompatDrawable(R.drawable.app_userlist_sel)
+    UriUtil.getUriForResourceId(R.drawable.app_tab_userlist_ic).toString(),
+    UriUtil.getUriForResourceId(R.drawable.app_tab_userlist_selected_ic).toString()
 ) {
     Router.getRouterInstance<BaseFragment>(UserList.HOME.PATH) ?: EmptyFragment()
 }

+ 2 - 2
app/src/main/java/com/adealink/weparty/ui/tab/Tab.kt

@@ -1,10 +1,10 @@
 package com.adealink.weparty.ui.tab
 
-import android.graphics.drawable.Drawable
 import com.adealink.weparty.commonui.BaseFragment
 
 data class Tab(
     val type: HomeTab,
-    var icon: Drawable?,
+    var normalImage: String?,
+    var selectedImage: String?,
     val fragmentBuilder: () -> BaseFragment
 )

+ 1 - 1
app/src/main/java/com/adealink/weparty/widget/skin/SkinView.kt

@@ -183,7 +183,7 @@ class SkinView @JvmOverloads constructor(
         }
     }
 
-    private fun setImageView(imgUri: String?) {
+    fun setImageView(imgUri: String?) {
         //移除其他控件
         findViewById<View>(R.id.skin_view_svga)?.let {
             removeView(it)

BIN
app/src/main/res/drawable-xhdpi/app_tab_me_selected_ic.png


BIN
app/src/main/res/drawable-xhdpi/app_tab_me_selected_ic.webp


BIN
app/src/main/res/drawable-xhdpi/app_tab_message_selected_ic.png


BIN
app/src/main/res/drawable-xhdpi/app_tab_message_selected_ic.webp


BIN
app/src/main/res/drawable-xhdpi/app_tab_moment_selected_ic.png


BIN
app/src/main/res/drawable-xhdpi/app_tab_moment_selected_ic.webp


BIN
app/src/main/res/drawable-xhdpi/app_tab_room_list_selected_ic.png


BIN
app/src/main/res/drawable-xhdpi/app_tab_room_list_selected_ic.webp


BIN
app/src/main/res/drawable-xhdpi/app_tab_userlist_selected_ic.png


BIN
app/src/main/res/drawable-xhdpi/app_tab_userlist_selected_ic.webp


BIN
app/src/main/res/drawable-xhdpi/common_ic_filter_selected.png


+ 2 - 1
app/src/main/res/layout/layout_main_tab_normal.xml

@@ -5,7 +5,8 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
 
-    <com.adealink.weparty.widget.skin.SkinView
+    <!--暂时不支持换肤-->
+    <com.adealink.frame.image.view.NetworkImageView
         android:id="@+id/iv_tab_icon"
         android:layout_width="54dp"
         android:layout_height="54dp"

+ 1 - 0
module/profile/src/main/res/layout/fragment_personal.xml

@@ -2,6 +2,7 @@
 <androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/recycler_view"
     android:layout_width="match_parent"
+    android:nestedScrollingEnabled="true"
     android:layout_height="match_parent">