From a00ff162f14100df2cd2e4cfe954e0d65ab21326 Mon Sep 17 00:00:00 2001 From: huangjian Date: Tue, 14 Feb 2023 18:56:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E6=92=AD=E8=AF=84=E7=BA=A7=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moshen/home/dialog/AnchorGradeDialog.kt | 196 ++++++++-- .../res/drawable-xhdpi/anchor_grade_bg_pb.png | Bin 0 -> 1313 bytes .../anchor_grade_bg_task_text.png | Bin 6456 -> 7620 bytes .../anchor_grade_ic_level_current.png | Bin 0 -> 365 bytes .../anchor_grade_ic_level_exceed.png | Bin 0 -> 739 bytes ...bg_pb.xml => anchor_grade_bg_progress.xml} | 2 +- .../res/drawable/shape_black_10_100dp.xml | 8 + .../main/res/layout/dialog_anchor_grade.xml | 349 ++++++++++++++---- app/src/main/res/values/colors.xml | 1 + .../mango/core/user/bean/AnchorGradeInfo.kt | 11 +- 10 files changed, 460 insertions(+), 107 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/anchor_grade_bg_pb.png create mode 100644 app/src/main/res/drawable-xhdpi/anchor_grade_ic_level_current.png create mode 100644 app/src/main/res/drawable-xhdpi/anchor_grade_ic_level_exceed.png rename app/src/main/res/drawable/{anchor_grade_bg_pb.xml => anchor_grade_bg_progress.xml} (93%) create mode 100644 app/src/main/res/drawable/shape_black_10_100dp.xml diff --git a/app/src/main/java/com/mango/moshen/home/dialog/AnchorGradeDialog.kt b/app/src/main/java/com/mango/moshen/home/dialog/AnchorGradeDialog.kt index 1ab07942b..3932647fc 100644 --- a/app/src/main/java/com/mango/moshen/home/dialog/AnchorGradeDialog.kt +++ b/app/src/main/java/com/mango/moshen/home/dialog/AnchorGradeDialog.kt @@ -3,11 +3,16 @@ package com.mango.moshen.home.dialog import android.annotation.SuppressLint import android.text.Spannable import android.text.SpannableStringBuilder +import android.view.View import android.view.WindowManager +import androidx.constraintlayout.widget.ConstraintSet import androidx.core.graphics.toColorInt +import androidx.core.view.isGone +import androidx.core.view.isVisible import androidx.fragment.app.viewModels import com.mango.core.statistic.StatisticManager import com.mango.core.statistic.protocol.StatisticsProtocol +import com.mango.core.user.bean.AnchorGradeInfo import com.mango.moshen.R import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.DialogAnchorGradeBinding @@ -49,8 +54,6 @@ class AnchorGradeDialog : BaseDialog() { private val meViewModel: MeViewModel by viewModels() - private val levelArray = arrayOf("D", "C", "B", "A", "S") - private var disposable: Disposable? = null @SuppressLint("CheckResult", "SetTextI18n") @@ -58,41 +61,15 @@ class AnchorGradeDialog : BaseDialog() { meViewModel.getAnchorGradeInfo(true) meViewModel.anchorGradeInfoLiveData.observe(this) { if (it == null) return@observe - val isCompleted = - it.currentReply >= it.targetReply && it.currentDiamond >= it.targetDiamond - binding.ivTitle.setImageResource(if (isCompleted) R.drawable.anchor_grade_bg_complete_text else R.drawable.anchor_grade_bg_task_text) anchorDrawableResIds[it.grade.uppercase(Locale.getDefault())]?.let { resId -> binding.ivCurrLevel.setImageResource(resId) } - val nextLevel = levelArray.getOrNull(levelArray.indexOf(it.grade) + 1) - binding.tvDiamondCurrLevel.text = it.grade - binding.tvDiamondNextLevel.text = nextLevel - binding.tvReplayCurrLevel.text = it.grade - binding.tvReplayNextLevel.text = nextLevel + val constraintSet = ConstraintSet() + constraintSet.clone(binding.clRoot) + setupDiamond(it, constraintSet) + setupReply(it, constraintSet) + constraintSet.applyTo(binding.clRoot) - binding.tvDiamondTargetNum.text = it.currentDiamond.toString() - binding.pbDiamond.max = it.targetDiamond - binding.pbDiamond.progress = it.currentDiamond - binding.tvDiamondGap.text = - (it.targetDiamond - it.currentDiamond).let { diamondGap -> - if (diamondGap > 0) { - "还差${diamondGap}钻可完成" - } else { - "已完成" - } - } - - binding.tvReplayTargetNum.text = "${(it.currentReply * 100).toInt()}%" - binding.pbReplay.max = (it.targetReply * 100).toInt() - binding.pbReplay.progress = (it.currentReply * 100).toInt() - binding.tvReplayGap.text = - ((it.targetReply - it.currentReply) * 100).toInt().let { replyGap -> - if (replyGap > 0) { - "还差${replyGap}%可完成" - } else { - "已完成" - } - } disposable?.dispose() disposable = Observable.intervalRange(0, Int.MAX_VALUE.toLong(), 0, 1, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()).compose(bindToLifecycle()) @@ -125,6 +102,159 @@ class AnchorGradeDialog : BaseDialog() { } + @SuppressLint("SetTextI18n") + private fun setupDiamond(it: AnchorGradeInfo, constraintSet: ConstraintSet) { + binding.tvDiamondTargetNum.text = it.currentDiamond.toString() + binding.pbDiamond.max = 1000 + var startEndID = R.id.tv_diamond_d + var endEndID = R.id.tv_diamond_c + when (it.currentDiamond) { + in 0 until it.levelCDiamond -> { + binding.ivDiamondLevelD.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.pbDiamond.progress = + ((it.currentDiamond / it.levelCDiamond.toDouble() * 250).toInt() + .coerceAtLeast(30)) + .coerceAtMost(220) + binding.tvDiamondGap.text = "还差${it.levelCDiamond - it.currentDiamond}钻" + } + in it.levelCDiamond until it.levelBDiamond -> { + binding.ivDiamondLevelC.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivDiamondLevelC.isVisible = true + binding.pbDiamond.progress = + (((it.currentDiamond - it.levelCDiamond) / (it.levelBDiamond - it.levelCDiamond).toDouble() * 250).toInt() + .coerceAtLeast(15) + 250) + .coerceAtMost(485) + startEndID = R.id.tv_diamond_c + endEndID = R.id.tv_diamond_b + binding.tvDiamondGap.text = "还差${it.levelBDiamond - it.currentDiamond}钻" + } + in it.levelBDiamond until it.levelADiamond -> { + binding.ivDiamondLevelB.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivDiamondLevelC.isVisible = true + binding.ivDiamondLevelB.isVisible = true + binding.pbDiamond.progress = + (((it.currentDiamond - it.levelBDiamond) / (it.levelADiamond - it.levelBDiamond).toDouble() * 250).toInt() + .coerceAtLeast(15) + 500) + .coerceAtMost(735) + startEndID = R.id.tv_diamond_b + endEndID = R.id.tv_diamond_a + binding.tvDiamondGap.text = "还差${it.levelADiamond - it.currentDiamond}钻" + } + in it.levelADiamond until it.levelSDiamond -> { + binding.ivDiamondLevelA.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivDiamondLevelC.isVisible = true + binding.ivDiamondLevelB.isVisible = true + binding.ivDiamondLevelA.isVisible = true + binding.pbDiamond.progress = + (((it.currentDiamond - it.levelADiamond) / (it.levelSDiamond - it.levelADiamond).toDouble() * 250).toInt() + .coerceAtLeast(30) + 750) + .coerceAtMost(970) + startEndID = R.id.tv_diamond_a + endEndID = R.id.tv_diamond_s + binding.tvDiamondGap.text = "还差${it.levelSDiamond - it.currentDiamond}钻" + } + else -> { + binding.ivDiamondLevelS.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivDiamondLevelC.isVisible = true + binding.ivDiamondLevelB.isVisible = true + binding.ivDiamondLevelA.isVisible = true + binding.ivDiamondLevelS.isVisible = true + binding.pbDiamond.progress = binding.pbDiamond.max + binding.tvDiamondGap.isGone = true + } + } + constraintSet.connect( + R.id.tv_diamond_gap, + ConstraintSet.START, + startEndID, + ConstraintSet.END + ) + constraintSet.connect( + R.id.tv_diamond_gap, + ConstraintSet.END, + endEndID, + ConstraintSet.START + ) + } + + @SuppressLint("SetTextI18n") + private fun setupReply(it: AnchorGradeInfo, constraintSet: ConstraintSet) { + if (!it.satisfyReply) { + constraintSet.setVisibility(R.id.group_reply, View.GONE) + constraintSet.setVisibility(R.id.tv_satisfy_reply, View.VISIBLE) + return + } + binding.pbReplay.max = 1000 + binding.tvReplayTargetNum.text = "${(it.currentReply * 100).toInt()}%" + var startEndIDReply = R.id.tv_replay_d + var endEndIDReply = R.id.tv_replay_c + if (0 <= it.currentReply && it.currentReply < it.levelCReply) { + binding.ivReplayLevelD.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.pbReplay.progress = + ((it.currentReply / it.levelCReply * 250).toInt() + .coerceAtLeast(30)) + .coerceAtMost(220) + binding.tvReplayGap.text = + "还差${((it.levelCReply - it.currentReply) * 100).toInt()}%" + } else if (it.levelCReply <= it.currentReply && it.currentReply < it.levelBReply) { + binding.ivReplayLevelC.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivReplayLevelC.isVisible = true + binding.pbDiamond.progress = + (((it.currentReply - it.levelCReply) / (it.levelBReply - it.levelCReply) * 250).toInt() + .coerceAtLeast(15) + 250) + .coerceAtMost(485) + startEndIDReply = R.id.tv_replay_c + endEndIDReply = R.id.tv_replay_b + binding.tvReplayGap.text = + "还差${((it.levelBReply - it.currentReply) * 100).toInt()}%" + } else if (it.levelBReply <= it.currentReply && it.currentReply < it.levelAReply) { + binding.ivReplayLevelB.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivReplayLevelC.isVisible = true + binding.ivReplayLevelB.isVisible = true + binding.pbReplay.progress = + (((it.currentReply - it.levelBReply) / (it.levelAReply - it.levelBReply) * 250).toInt() + .coerceAtLeast(15) + 500) + .coerceAtMost(735) + startEndIDReply = R.id.tv_replay_b + endEndIDReply = R.id.tv_replay_a + binding.tvReplayGap.text = + "还差${((it.levelAReply - it.currentReply) * 100).toInt()}%" + } else if (it.levelAReply <= it.currentReply && it.currentReply < it.levelSReply) { + binding.ivReplayLevelA.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivReplayLevelC.isVisible = true + binding.ivReplayLevelB.isVisible = true + binding.ivReplayLevelA.isVisible = true + binding.pbReplay.progress = + (((it.currentReply - it.levelAReply) / (it.levelSReply - it.levelAReply) * 250).toInt() + .coerceAtLeast(30) + 750) + .coerceAtMost(970) + startEndIDReply = R.id.tv_replay_a + endEndIDReply = R.id.tv_replay_s + binding.tvReplayGap.text = + "还差${((it.levelSReply - it.currentReply) * 100).toInt()}%" + } else { + binding.ivReplayLevelS.setImageResource(R.drawable.anchor_grade_ic_level_current) + binding.ivReplayLevelC.isVisible = true + binding.ivReplayLevelB.isVisible = true + binding.ivReplayLevelA.isVisible = true + binding.ivReplayLevelS.isVisible = true + binding.pbReplay.progress = binding.pbReplay.max + binding.tvReplayGap.isGone = true + } + constraintSet.connect( + R.id.tv_replay_gap, + ConstraintSet.START, + startEndIDReply, + ConstraintSet.END + ) + constraintSet.connect( + R.id.tv_replay_gap, + ConstraintSet.END, + endEndIDReply, + ConstraintSet.START + ) + } + override fun onDestroyView() { super.onDestroyView() disposable?.dispose() diff --git a/app/src/main/res/drawable-xhdpi/anchor_grade_bg_pb.png b/app/src/main/res/drawable-xhdpi/anchor_grade_bg_pb.png new file mode 100644 index 0000000000000000000000000000000000000000..df3b62a3a949a09e8dbc3b3c4d564854b44bf4ec GIT binary patch literal 1313 zcmV++1>X9JP)Px(+et)0RCr$Po!@I)Wf;f5PxV5Qb@ak+=~iLrpx!ygWYe@3tl*{{%G$YI2(Dy9 zv10NMe>0Ne`T5`Y;1qat#u+#dJm=6s!5gcz62ms>HA%ZuWF2G18@Yujw-!<2jEE&`L$|P zY~XtW#+bVRi~!h1@4naNT7dNK8p=Rjh~5LG%e7z~c-H}egCg>Cq4U*3!59+tMhR9a$(83g7A*S|qGpyY*Q+C}wA;1~zP1_p){Wf}K;?#-9Y1 zE?>U#*2awwB<+Mp?{+8!q7A(VLX+!3(!1+O193q|-mhLg_mMRiFe4%zV%^v0|$_UH9$^{z7qBO~vnt?%`2Efj|JUW3`$`8QfyJ5&Blmr;=b36KB@ zkN^qPi-0wH{F>gwriH>U05+dE@zsM)e_7TmVD>`-BtQZrKmsICKLR>(yl2nDUjw+P zg~DF|ZtLuP;?Ak5AOEgj80?7zNPq-LfCNauj|6o3;n=a14kRqHQ1GK6#zX=nKmsH{ z0v-}5EfhHQ;Gqn5O#&o90wh2Jej`vi^}w4M{bq>qkN^pg011$QhXhJ*X6y!VvX;jq zj~-37?b;RZk47UMd_2-aqcwD`zH_h{Ykq|bF4>{w>o!Z7%)*;3EgkRL ziIU#!PzppFdJlvq*Mp>Y*O3O|f{wf|E}k2TMk70Qqo|bymo!CV%-sNVb;hP_c5ytB zc)j8h&cnlp-;PEjIufCWF5h@1}uE(WLiLHr=fTH$^JZX-c^rV=r?R>!R66~`nN;f2mCeBDJ)EBndJm`9YFW{H zHA3P1dnNDd*EiqN+xy5J?d|vOjKyw0P_*geZV}O)B>&qKs&H5%3m@w=L={|mvK9#! z!-@6g%E}nC8Ng>Ywil=O5PdZ0Jw!4cq(biwV1=luL+^)lB%zT0{|beofdh|~30QCR-5`avl@ArQJ Xs)=Wr+r9g500000NkvXXu0mjf4O@sd literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/anchor_grade_bg_task_text.png b/app/src/main/res/drawable-xhdpi/anchor_grade_bg_task_text.png index cdec78aa1334ee55aafa1055fa245b75658b6663..6d8c0e57a99ff46cf85072ce37fdbf5145571935 100644 GIT binary patch literal 7620 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 LNkvXXu0mjf><*h} literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/anchor_grade_ic_level_exceed.png b/app/src/main/res/drawable-xhdpi/anchor_grade_ic_level_exceed.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa457b8e571e9f582e94bc362f759468f2cffa4 GIT binary patch literal 739 zcmV<90v!E`P)Px%ok>JNR5(wKlv_wtQ51&1HJaL>mPkZJ#TnX^IU58r5y0&p~QlymD3U>!-%qhsa0;3-U~b?{tIef`8x1efvovH;J4NRru|ZX zyw|%n3sS`un^1BGMHEZSuz5Ws$HKCuhW7g?yc>XrZ{g=S2o6N;keZSwdV3nAO0Mci zo=-zk)Wjq-w}ZXkfMLp%iX*)S=ybIWMHWeMP`C|bPR4%&m4c@G(EUln zI;8B7MO4}KTs)pO!WTnvK7>_ssC6{MX zRDGip#7tqH4>U0Z_MvB5!(Y3LvA>2YP7-n=ZE0 ziMntt2c_;3Zia(-zTe+<27Y{i#8aUA=Ji>Kh= - + diff --git a/app/src/main/res/drawable/shape_black_10_100dp.xml b/app/src/main/res/drawable/shape_black_10_100dp.xml new file mode 100644 index 000000000..110044177 --- /dev/null +++ b/app/src/main/res/drawable/shape_black_10_100dp.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_anchor_grade.xml b/app/src/main/res/layout/dialog_anchor_grade.xml index 0609eb26a..84cffdcd6 100644 --- a/app/src/main/res/layout/dialog_anchor_grade.xml +++ b/app/src/main/res/layout/dialog_anchor_grade.xml @@ -8,6 +8,7 @@ tools:background="@color/black_transparent_50"> @@ -48,7 +50,7 @@ android:id="@+id/tv_diamond" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="18dp" + android:layout_marginStart="20dp" android:layout_marginTop="25dp" android:text="收礼钻石数:" android:textColor="#8A8CAB" @@ -66,64 +68,155 @@ app:layout_constraintStart_toEndOf="@id/tv_diamond" app:layout_constraintTop_toTopOf="@id/tv_diamond" /> - + + + + + + + + + + + + + android:text="D" + android:textColor="@color/color_babbcd" + android:textSize="10dp" + app:layout_constraintEnd_toEndOf="@id/iv_diamond_level_d" + app:layout_constraintStart_toStartOf="@id/iv_diamond_level_d" + app:layout_constraintTop_toBottomOf="@id/view_bg_diamond_pb" /> + + + + + + + + + + app:layout_constraintEnd_toEndOf="@id/tv_diamond_s" + app:layout_constraintStart_toStartOf="@id/tv_diamond_a" + app:layout_constraintTop_toBottomOf="@id/view_bg_diamond_pb" + tools:text="还差3333钻" /> - - + + + + + + + + + + + + + android:text="D" + android:textColor="@color/color_babbcd" + android:textSize="10dp" + app:layout_constraintEnd_toEndOf="@id/iv_replay_level_d" + app:layout_constraintStart_toStartOf="@id/iv_replay_level_d" + app:layout_constraintTop_toBottomOf="@id/view_bg_replay_pb" /> + + + + + + + + + app:layout_constraintEnd_toEndOf="@id/tv_replay_s" + app:layout_constraintStart_toStartOf="@id/tv_replay_a" + app:layout_constraintTop_toBottomOf="@id/view_bg_replay_pb" + tools:text="还差10%" /> + + + app:constraint_referenced_ids="iv_replay_level_d,iv_replay_level_c,iv_replay_level_b,iv_replay_level_a,iv_replay_level_s,tv_replay_d,tv_replay_c,tv_replay_b,tv_replay_a,tv_replay_s,pb_replay,view_bg_replay_pb,tv_replay_gap" /> #FFFFBC51 #5FCCE4 #161958 + #BABBCD diff --git a/core/src/main/java/com/mango/core/user/bean/AnchorGradeInfo.kt b/core/src/main/java/com/mango/core/user/bean/AnchorGradeInfo.kt index b407631d3..dd99af2ae 100644 --- a/core/src/main/java/com/mango/core/user/bean/AnchorGradeInfo.kt +++ b/core/src/main/java/com/mango/core/user/bean/AnchorGradeInfo.kt @@ -8,5 +8,14 @@ data class AnchorGradeInfo( val targetDiamond: Int = 0, val targetReply: Double = 0.0, val uid: Int = 0, - val inWhitelist: Boolean? = null + val inWhitelist: Boolean = false, + val levelSDiamond: Int = 0, + val levelSReply: Double = 0.0, + val levelADiamond: Int = 0, + val levelAReply: Double = 0.0, + val levelBDiamond: Int = 0, + val levelBReply: Double = 0.0, + val levelCDiamond: Int = 0, + val levelCReply: Double = 0.0, + val satisfyReply: Boolean = false, ) \ No newline at end of file