From e40e655bfa2ed177aa3215abf43df78aff3d481d Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Fri, 10 Jan 2020 18:25:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=A4=A7=E5=9B=BE=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=20=E6=91=98=E8=A6=81=E5=89=8D=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gamecenter/home/HomeGameItemViewHolder.kt | 27 +++++++++++++++---- .../home/slide/HomeSlideListAdapter.kt | 3 ++- app/src/main/res/layout/game_attach_item.xml | 3 +-- app/src/main/res/layout/home_game_item.xml | 1 + app/src/main/res/values/colors.xml | 1 + 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt index 39cb0cd2b4..e02be3c142 100644 --- a/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/home/HomeGameItemViewHolder.kt @@ -2,20 +2,37 @@ package com.gh.gamecenter.home import android.graphics.Color import android.graphics.drawable.ColorDrawable +import android.text.SpannableStringBuilder +import android.text.Spanned +import android.text.style.RelativeSizeSpan import com.gh.base.BaseRecyclerViewHolder +import com.gh.common.util.DisplayUtils import com.gh.common.util.RandomUtils +import com.gh.common.util.toColor +import com.gh.common.view.RoundStrokeBackgroundColorSpan +import com.gh.gamecenter.R import com.gh.gamecenter.databinding.HomeGameItemBinding import com.gh.gamecenter.entity.GameEntity -import com.gh.gamecenter.entity.TagStyleEntity +import com.halo.assistant.HaloApp class HomeGameItemViewHolder(val binding: HomeGameItemBinding) : BaseRecyclerViewHolder(binding.root) { fun bindGame(game: GameEntity) { - - val firstTag = if (game.getTag().isNotEmpty()) game.getTag()[0] + " " else "" - game.tagStyle = arrayListOf(TagStyleEntity(name = firstTag + game.brief, color = "999999")) binding.data = game - + + val firstTag = if (game.tagStyle.isNotEmpty()) " " + game.tagStyle[0].name + " " else "" + val gameBrief = SpannableStringBuilder(firstTag + " " + game.brief) + if (firstTag.isNotEmpty()) { + val tagSpan = RoundStrokeBackgroundColorSpan( + R.color.text_979A9F.toColor(), + R.color.text_666666.toColor(), + DisplayUtils.dip2px(1F), + DisplayUtils.sp2px(HaloApp.getInstance().application, 9F)) + gameBrief.setSpan(RelativeSizeSpan(0.8f), 0, firstTag.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) + gameBrief.setSpan(tagSpan, 0, firstTag.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) + } + binding.includeGame.gameTags.text = gameBrief + val hierarchy = binding.gameImage.hierarchy try { hierarchy.setPlaceholderImage(ColorDrawable(Color.parseColor(game.homeSetting.placeholderColor))) diff --git a/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListAdapter.kt b/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListAdapter.kt index c365fb00fd..e54946c363 100644 --- a/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/home/slide/HomeSlideListAdapter.kt @@ -7,6 +7,7 @@ import android.view.ViewGroup import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.PagerSnapHelper import androidx.recyclerview.widget.RecyclerView +import com.gh.common.databind.BindingAdapters import com.gh.common.exposure.ExposureEvent import com.gh.common.util.DataLogUtils import com.gh.common.util.DirectUtils @@ -79,7 +80,7 @@ class HomeSlideListAdapter(context: Context, GameDetailActivity.startGameDetailActivity(mContext, linkGame.id, "(新首页-轮播图)", findExposureEvent(homeSlide.linkId)) } } - + BindingAdapters.setGameTags(holder.binding.includeGame.gameTags, homeSlide.linkGame?.tagStyle, 3) holder.binding.unknownBackground.goneIf(DirectUtils.directLinkTypes.contains(homeSlide.linkType)) } diff --git a/app/src/main/res/layout/game_attach_item.xml b/app/src/main/res/layout/game_attach_item.xml index bda7f6fd7f..9a6685060e 100644 --- a/app/src/main/res/layout/game_attach_item.xml +++ b/app/src/main/res/layout/game_attach_item.xml @@ -69,12 +69,11 @@ #FF0000 #A1A5B7 #50556B + #979A9F \ No newline at end of file