fix:修复红包内若干bug

This commit is contained in:
Max
2023-10-30 14:45:19 +08:00
parent f7889ace18
commit e031dd9d02
4 changed files with 74 additions and 33 deletions

View File

@@ -7,9 +7,7 @@ import android.animation.ObjectAnimator
import android.animation.ValueAnimator
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import android.view.animation.AccelerateDecelerateInterpolator
import androidx.core.view.isVisible
@@ -181,40 +179,53 @@ class RedPackageOpenDialog2 : BaseDialog<RedPackageOpenDialogBinding>(), ILog {
*/
private fun loadTips(data: RedPackageData) {
binding.tvOpenTips.isVisible = false
when (data.kind) {
2 -> {
binding.tvOpenTips.spannableBuilder()
.appendText(
text = R.string.red_package_open_tips_follow.toStringRes(),
textColor = getColorById(R.color.color_FFF87A)
)
.appendText(text = R.string.red_package_open_tips_msg_end.toStringRes()).apply()
binding.tvOpenTips.isVisible = true
}
if (data.finish == true) {
binding.tvOpenTips.setText(R.string.red_package_complete_tips)
binding.tvOpenTips.isVisible = true
} else {
when (data.kind) {
1 -> {
binding.tvOpenTips.setText(R.string.red_package_quick_tips)
binding.tvOpenTips.isVisible = true
}
3 -> {
binding.tvOpenTips.spannableBuilder()
.appendText(
text = R.string.red_package_open_tips_share.toStringRes(),
textColor = getColorById(R.color.color_FFF87A)
)
.appendText(text = R.string.red_package_open_tips_msg_end.toStringRes()).apply()
binding.tvOpenTips.isVisible = true
}
2 -> {
binding.tvOpenTips.spannableBuilder()
.appendText(
text = R.string.red_package_open_tips_follow.toStringRes(),
textColor = getColorById(R.color.color_FFF87A)
)
.appendText(text = R.string.red_package_open_tips_msg_end.toStringRes())
.apply()
binding.tvOpenTips.isVisible = true
}
4 -> {
binding.tvOpenTips.spannableBuilder()
.appendText(text = R.string.red_package_open_tips_msg1.toStringRes())
.appendText(
text = data.message ?: "",
textColor = getColorById(R.color.color_FFF87A)
)
.appendText(text = R.string.red_package_open_tips_msg_end.toStringRes()).apply()
binding.tvOpenTips.isVisible = true
}
3 -> {
binding.tvOpenTips.spannableBuilder()
.appendText(
text = R.string.red_package_open_tips_share.toStringRes(),
textColor = getColorById(R.color.color_FFF87A)
)
.appendText(text = R.string.red_package_open_tips_msg_end.toStringRes())
.apply()
binding.tvOpenTips.isVisible = true
}
else -> {
loadTips(data.message)
4 -> {
binding.tvOpenTips.spannableBuilder()
.appendText(text = R.string.red_package_open_tips_msg1.toStringRes())
.appendText(
text = data.message ?: "",
textColor = getColorById(R.color.color_FFF87A)
)
.appendText(text = R.string.red_package_open_tips_msg_end.toStringRes())
.apply()
binding.tvOpenTips.isVisible = true
}
else -> {
loadTips(data.message)
}
}
}
}
@@ -279,10 +290,26 @@ class RedPackageOpenDialog2 : BaseDialog<RedPackageOpenDialogBinding>(), ILog {
binding.tvBtnMsg.text = ""
}
}
startTimerForUncompletedState(gap)
}
}
}
/**
* 开启定时器未完成状态更新倒计时结束时更新对应View状态
*/
private fun startTimerForUncompletedState(time: Long) {
val d = Observable.timer(time, TimeUnit.MILLISECONDS)
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
binding.tvBtnMsg.setText(R.string.red_package_open_btn_no)
btnRunnable = {
SingleToastUtil.showToast(R.string.red_package_open_no_tips)
}
}
}
/**
* 开始倒计时
* @param time 开抢时间

View File

@@ -85,6 +85,10 @@ class RedPackageSendDialog2 : BaseDialog<RedPackageSendDialogBinding>() {
}
private fun initEvent() {
binding.vTopBlank.singleClick {
dismissAllowingStateLoss()
}
binding.ivHelp.singleClick {
DialogWebViewActivity.start(
context,

View File

@@ -22,6 +22,14 @@
android:src="@drawable/red_package_send_bg"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/v_top_blank"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
app:layout_constraintBottom_toTopOf="@id/iv_help"
app:layout_constraintTop_toTopOf="@id/iv_top" />
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
android:id="@+id/tab_layout"
android:layout_width="match_parent"

View File

@@ -5181,6 +5181,8 @@
<string name="red_package_open_tips_msg_end">可搶紅包</string>
<string name="red_package_result_empty_tips">搶完了,下次早點來哦~</string>
<string name="red_package_disabled_tips">該紅包已失效</string>
<string name="red_package_quick_tips">快來搶紅包,手慢無哦!</string>
<string name="red_package_complete_tips">已完成條件,可搶紅包</string>
</resources>