diff --git a/app/src/main/java/com/gh/common/view/ConfigFilterView.kt b/app/src/main/java/com/gh/common/view/ConfigFilterView.kt index d3ba347ff2..2cc56ce2e6 100644 --- a/app/src/main/java/com/gh/common/view/ConfigFilterView.kt +++ b/app/src/main/java/com/gh/common/view/ConfigFilterView.kt @@ -20,6 +20,7 @@ import com.gh.gamecenter.common.utils.setDrawableEnd import com.gh.gamecenter.common.utils.toColor import com.gh.gamecenter.entity.SubjectSettingEntity import com.google.android.flexbox.FlexboxLayout +import splitties.views.leftPadding class ConfigFilterView @JvmOverloads constructor( context: Context, @@ -213,6 +214,10 @@ class ConfigFilterView @JvmOverloads constructor( fun initSubjectFilterView(subjectSetting: SubjectSettingEntity) { ratingTv.visibility = View.VISIBLE + if (subjectSetting.typeEntity.layout == "hide") { + container.leftPadding = 8F.dip2px() + } + if (subjectSetting.filterOptions.size > 1) { // 重排序 subjectSetting.filterOptions.forEachIndexed { index, s -> diff --git a/app/src/main/java/com/gh/gamecenter/subject/tab/SubjectTabFragment.kt b/app/src/main/java/com/gh/gamecenter/subject/tab/SubjectTabFragment.kt index 138b36268e..e29de15297 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/tab/SubjectTabFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/subject/tab/SubjectTabFragment.kt @@ -134,6 +134,7 @@ class SubjectTabFragment : ToolbarFragment() { isSubject = subjectList.isEmpty() tabStyle = when { mIsFromMainWrapper && !isSubject -> TabStyle.COLUMN_COLLECTION_MAIN_WRAPPER + mIsFromTabWrapper && !isSubject -> TabStyle.COLUMN_COLLECTION_TAB_WRAPPER isSubject -> TabStyle.SUBJECT_NORMAL else -> TabStyle.COLUMN_COLLECTION_NORMAL } @@ -370,18 +371,19 @@ class SubjectTabFragment : ToolbarFragment() { } private fun initTabLayout() { + if (isCustomEnabled && SPUtils.getBoolean(Constants.SP_SHOW_COLUMN_COLLECTION_CUSTOM_TAB_GUIDE, true)) { + binding.subjectTab.addOnTabSelectedListener(object : OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + showSettingGuideIfNeeded(this) + } + override fun onTabUnselected(tab: TabLayout.Tab?) {} + override fun onTabReselected(tab: TabLayout.Tab?) { + showSettingGuideIfNeeded(this) + } + }) + } + if (tabStyle == TabStyle.COLUMN_COLLECTION_NORMAL) { - if (isCustomEnabled && SPUtils.getBoolean(Constants.SP_SHOW_COLUMN_COLLECTION_CUSTOM_TAB_GUIDE, true)) { - binding.subjectTab.addOnTabSelectedListener(object : OnTabSelectedListener { - override fun onTabSelected(tab: TabLayout.Tab?) { - showSettingGuideIfNeeded(this) - } - override fun onTabUnselected(tab: TabLayout.Tab?) {} - override fun onTabReselected(tab: TabLayout.Tab?) { - showSettingGuideIfNeeded(this) - } - }) - } binding.subjectTabIndicator.run { setIndicatorWidth(12) updateLayoutParams { @@ -420,10 +422,13 @@ class SubjectTabFragment : ToolbarFragment() { } } } else { - when (i) { - 0 -> tab.view.setPadding(16F.dip2px(), 0, 0, 0) - binding.subjectTab.tabCount - 1 -> tab.view.setPadding(8F.dip2px(), 0, 16F.dip2px(), 0) - else -> tab.view.setPadding(8F.dip2px(), 0, 0, 0) + val leftPadding = if (i == 0) 16F.dip2px() else 8F.dip2px() + val rightPadding = if (i == binding.subjectTab.tabCount - 1) 16F.dip2px() else 0 + tab.view.setPadding(leftPadding, 0, rightPadding, 0) + tab.view.findViewById(R.id.tab_title)?.let { + it.post { + tab.view.updateLayoutParams { width = leftPadding + rightPadding + it.width } + } } } } @@ -481,6 +486,7 @@ class SubjectTabFragment : ToolbarFragment() { if (tabTitle is CheckedTextView) { tabTitle.text = title } + view.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, 32F.dip2px()) return view } } @@ -493,6 +499,7 @@ class SubjectTabFragment : ToolbarFragment() { binding.subjectTab.setTabTextColors(com.gh.gamecenter.common.R.color.text_secondary.toColor(requireContext()), com.gh.gamecenter.common.R.color.text_primary.toColor(requireContext())) } TabStyle.COLUMN_COLLECTION_MAIN_WRAPPER -> updateTabStyle(binding.subjectViewpager.currentItem, 0F) + TabStyle.COLUMN_COLLECTION_TAB_WRAPPER, TabStyle.SUBJECT_NORMAL -> { for (i in 0 until binding.subjectTab.tabCount) { val tab = binding.subjectTab.getTabAt(i) ?: continue @@ -828,9 +835,14 @@ class SubjectTabFragment : ToolbarFragment() { COLUMN_COLLECTION_MAIN_WRAPPER, /** - * 专题合集-常规样式 + * 专题合集-二级页面样式 */ COLUMN_COLLECTION_NORMAL, + + /** + * 专题合集-关联多Tab导航栏样式 + */ + COLUMN_COLLECTION_TAB_WRAPPER, } companion object { diff --git a/app/src/main/res/layout/tab_item_subject_tab.xml b/app/src/main/res/layout/tab_item_subject_tab.xml index 44f8a0d6fb..b410ed9199 100644 --- a/app/src/main/res/layout/tab_item_subject_tab.xml +++ b/app/src/main/res/layout/tab_item_subject_tab.xml @@ -1,20 +1,13 @@ - - - - - \ No newline at end of file + android:layout_height="32dp" + android:background="@drawable/subject_tab_background_selector" + android:gravity="center" + android:paddingStart="12dp" + android:paddingEnd="12dp" + android:text="人气榜" + android:textAlignment="center" + android:textColor="@color/text_tabbar_style" + android:textSize="12sp" /> \ No newline at end of file