fix: 修复历史记录 Header 背景透明
This commit is contained in:
parent
7dfd4976d6
commit
7991a1bec9
|
|
@ -158,8 +158,8 @@ class NewSearchActivity : BaseActivity(), TabLayout.OnTabSelectedListener {
|
|||
R.drawable.ic_round_keyboard,
|
||||
if (histories.size > 0) R.drawable.ic_round_delete else NO_ICON
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
backgroundTintList = R.color.default_color_card
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
headerBackgroundTintList = R.color.default_color_card
|
||||
iconTintList = R.color.default_color_primary
|
||||
titleTextColor = R.color.default_color_primary
|
||||
topMargin = resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
|
|
@ -207,8 +207,8 @@ class NewSearchActivity : BaseActivity(), TabLayout.OnTabSelectedListener {
|
|||
R.drawable.ic_round_polymer,
|
||||
R.drawable.ic_round_chevron_right
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
backgroundTintList = R.color.default_color_card
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
headerBackgroundTintList = R.color.default_color_card
|
||||
iconTintList = R.color.default_color_primary
|
||||
titleTextColor = R.color.default_color_primary
|
||||
topMargin = resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
package com.huanchengfly.tieba.post.adapters
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.RelativeLayout
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.annotation.ColorRes
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.alibaba.android.vlayout.DelegateAdapter
|
||||
|
|
@ -68,12 +72,23 @@ class HeaderDelegateAdapter @JvmOverloads constructor(
|
|||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
var background: Drawable? = null
|
||||
var viewBackground: Drawable? = null
|
||||
set(value) {
|
||||
field = value
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
var backgroundTintList: Int = R.color.default_color_card
|
||||
var viewBackgroundTintList: Int = 0
|
||||
set(value) {
|
||||
field = value
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
var headerBackground: Drawable? = null
|
||||
set(value) {
|
||||
field = value
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
var headerBackgroundTintList: Int = R.color.default_color_card
|
||||
set(value) {
|
||||
field = value
|
||||
notifyDataSetChanged()
|
||||
|
|
@ -150,8 +165,18 @@ class HeaderDelegateAdapter @JvmOverloads constructor(
|
|||
})
|
||||
}
|
||||
|
||||
fun setBackgroundResource(@DrawableRes resId: Int) {
|
||||
background = ContextCompat.getDrawable(context, resId)
|
||||
fun setHeaderBackgroundResource(@DrawableRes resId: Int) {
|
||||
headerBackground = ContextCompat.getDrawable(context, resId)
|
||||
}
|
||||
|
||||
fun setViewBackgroundColor(@ColorInt color: Int) {
|
||||
viewBackground = ColorDrawable(color)
|
||||
viewBackgroundTintList = 0
|
||||
}
|
||||
|
||||
fun setViewBackgroundColorResource(@ColorRes resId: Int) {
|
||||
viewBackground = ColorDrawable(Color.WHITE)
|
||||
viewBackgroundTintList = resId
|
||||
}
|
||||
|
||||
constructor(
|
||||
|
|
@ -188,8 +213,10 @@ class HeaderDelegateAdapter @JvmOverloads constructor(
|
|||
this.marginEnd = this@HeaderDelegateAdapter.endMargin
|
||||
this.bottomMargin = this@HeaderDelegateAdapter.bottomMargin
|
||||
}
|
||||
rootView.background = background
|
||||
rootView.backgroundTintList = ColorStateListUtils.createColorStateList(context, backgroundTintList)
|
||||
rootView.background = headerBackground
|
||||
rootView.backgroundTintList = if (headerBackgroundTintList == 0) null else ColorStateListUtils.createColorStateList(context, headerBackgroundTintList)
|
||||
holder.itemView.background = viewBackground
|
||||
holder.itemView.backgroundTintList = if (viewBackgroundTintList == 0) null else ColorStateListUtils.createColorStateList(context, viewBackgroundTintList)
|
||||
holder.getView<TintImageView>(R.id.icon).setTintListResId(iconTintList)
|
||||
holder.getView<TintImageView>(R.id.end_icon).setTintListResId(iconTintList)
|
||||
holder.getView<TintTextView>(R.id.title).tintResId = titleTextColor
|
||||
|
|
|
|||
|
|
@ -80,10 +80,11 @@ class HistoryFragment : BaseFragment(), OnItemClickListener<History>, Refreshabl
|
|||
startIconResId = R.drawable.ic_date_range,
|
||||
sticky = HeaderDelegateAdapter.STICKY_START
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
iconTintList = R.color.default_color_primary
|
||||
titleTextColor = R.color.default_color_primary
|
||||
backgroundTintList = R.color.default_color_card
|
||||
headerBackgroundTintList = R.color.default_color_card
|
||||
setViewBackgroundColorResource(R.color.default_color_window_background)
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
startPadding = 12.dpToPx()
|
||||
endPadding = 12.dpToPx()
|
||||
|
|
@ -97,10 +98,11 @@ class HistoryFragment : BaseFragment(), OnItemClickListener<History>, Refreshabl
|
|||
startIconResId = R.drawable.ic_date_range,
|
||||
sticky = HeaderDelegateAdapter.STICKY_START
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
iconTintList = R.color.default_color_primary
|
||||
titleTextColor = R.color.default_color_primary
|
||||
backgroundTintList = R.color.default_color_card
|
||||
headerBackgroundTintList = R.color.default_color_card
|
||||
setViewBackgroundColorResource(R.color.default_color_window_background)
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
startPadding = 12.dpToPx()
|
||||
endPadding = 12.dpToPx()
|
||||
|
|
|
|||
|
|
@ -220,8 +220,8 @@ class MainForumListFragment : BaseFragment(), Refreshable, Toolbar.OnMenuItemCli
|
|||
R.string.title_top_forum,
|
||||
R.drawable.ic_round_graphic_eq
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
backgroundTintList = R.color.default_color_card
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
headerBackgroundTintList = R.color.default_color_card
|
||||
iconTintList = R.color.default_color_primary
|
||||
titleTextColor = R.color.default_color_primary
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
|
|
@ -236,8 +236,8 @@ class MainForumListFragment : BaseFragment(), Refreshable, Toolbar.OnMenuItemCli
|
|||
R.string.forum_list_title,
|
||||
R.drawable.ic_infinite
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
backgroundTintList = R.color.default_color_card
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
headerBackgroundTintList = R.color.default_color_card
|
||||
iconTintList = R.color.default_color_primary
|
||||
titleTextColor = R.color.default_color_primary
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ class SearchForumFragment : BaseFragment(), ISearchFragment, OnItemClickListener
|
|||
R.string.title_exact_match,
|
||||
R.drawable.ic_round_graphic_eq
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
startPadding = 16.dpToPx()
|
||||
endPadding = 16.dpToPx()
|
||||
|
|
@ -126,7 +126,7 @@ class SearchForumFragment : BaseFragment(), ISearchFragment, OnItemClickListener
|
|||
R.string.title_fuzzy_match,
|
||||
R.drawable.ic_infinite
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
startPadding = 16.dpToPx()
|
||||
endPadding = 16.dpToPx()
|
||||
|
|
|
|||
|
|
@ -110,8 +110,8 @@ class SearchThreadFragment : BaseFragment(), ISearchFragment, NewSearchActivity.
|
|||
attachContext,
|
||||
titleResId = getSearchFilterTitleResId(filter)
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
backgroundTintList = R.color.default_color_card
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
headerBackgroundTintList = R.color.default_color_card
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
})
|
||||
delegateAdapter.addAdapter(searchThreadAdapter!!.apply {
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class SearchUserFragment : BaseFragment(), ISearchFragment, OnItemClickListener<
|
|||
R.string.title_exact_match,
|
||||
R.drawable.ic_round_graphic_eq
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
startPadding = 16.dpToPx()
|
||||
endPadding = 16.dpToPx()
|
||||
|
|
@ -113,7 +113,7 @@ class SearchUserFragment : BaseFragment(), ISearchFragment, OnItemClickListener<
|
|||
R.string.title_fuzzy_match,
|
||||
R.drawable.ic_infinite
|
||||
).apply {
|
||||
setBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
setHeaderBackgroundResource(R.drawable.bg_top_radius_8dp)
|
||||
topMargin = attachContext.resources.getDimensionPixelSize(R.dimen.card_margin)
|
||||
startPadding = 16.dpToPx()
|
||||
endPadding = 16.dpToPx()
|
||||
|
|
|
|||
Loading…
Reference in New Issue