Merge branch 'feat/GHZSCY-7999' into 'dev'
feat: 专题合集新增自定义设置-0516运营验收优化-客户端 https://jira.shanqu.cc/browse/GHZSCY-7999 See merge request halo/android/assistant-android!2200
This commit is contained in:
@ -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 ->
|
||||
|
||||
@ -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<ConstraintLayout.LayoutParams> {
|
||||
@ -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<View>(R.id.tab_title)?.let {
|
||||
it.post {
|
||||
tab.view.updateLayoutParams<ViewGroup.LayoutParams> { 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 {
|
||||
|
||||
@ -1,20 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center">
|
||||
|
||||
<CheckedTextView
|
||||
android:id="@+id/tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
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" />
|
||||
|
||||
</LinearLayout>
|
||||
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" />
|
||||
Reference in New Issue
Block a user