From 50341765a25c4873e1d132e601ef89e6871032c8 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Thu, 18 Dec 2025 19:18:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=EF=BC=8C=20=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=20guide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../features/withdraw/WithDrawActivity.kt | 2 +- .../home/fragment/HomeItemFragment.kt | 55 ++++++++++++++++++- .../com/ama/core/architecture/util/SpUtil.kt | 2 +- 3 files changed, 56 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt index 67706ca..2631492 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt @@ -325,7 +325,7 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { } private fun saveGuideState() { - return SpUtil.instance().putInt(SpUtil.KEY_GUIDE_HAS_SHOW, 4) + SpUtil.instance().putInt(SpUtil.KEY_GUIDE_HAS_SHOW, 4) } diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt index 1b085c1..362858a 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt @@ -13,14 +13,22 @@ import android.view.animation.AnimationSet import android.view.animation.ScaleAnimation import android.widget.FrameLayout import androidx.annotation.NonNull +import androidx.core.graphics.toColorInt import androidx.core.view.isVisible import com.ama.core.architecture.appBase.AppViewsEmptyViewModelFragment +import com.ama.core.architecture.highlightpro.HighlightPro +import com.ama.core.architecture.highlightpro.parameter.Constraints +import com.ama.core.architecture.highlightpro.parameter.HighlightParameter +import com.ama.core.architecture.highlightpro.parameter.MarginOffset +import com.ama.core.architecture.highlightpro.shape.OvalShape +import com.ama.core.architecture.highlightpro.shape.RectShape import com.ama.core.architecture.util.AndroidUtil +import com.ama.core.architecture.util.ResUtil.dp +import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.common.widget.PopMenuIconView import com.vididin.real.money.game.R import com.gamedog.vididin.VidiConst -import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.beans.YoutubeVideo import com.gamedog.vididin.main.WatchAdDialog import com.gamedog.vididin.router.Router @@ -35,6 +43,7 @@ import com.vididin.real.money.game.databinding.VididinappFeatureHomeItemLayoutBi class HomeItemFragment : AppViewsEmptyViewModelFragment() { + private var mHasShowGuide: Boolean = false private var mMaskBitmap: Bitmap? = null private var mPlayerView: YouTubePlayerView? = null private var mPlayer: YouTubePlayer? = null @@ -109,6 +118,38 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment() { mMaskBitmap?.recycle() } + + + private fun showGuide() { + HighlightPro.with(this@HomeItemFragment) + .setHighlightParameter { + HighlightParameter.Builder() + .setHighlightView(binding?.popMenu!!, { + }) + .setTipsViewId(R.layout.guide_step_withdraw) + .setHighlightShape(OvalShape(binding?.popMenu?.measuredWidth!!.toFloat()/2)) + .setHighlightHorizontalPadding(0.dp) + .setConstraints(Constraints.TopToBottomOfHighlight + Constraints.EndToEndOfHighlight) + .setMarginOffset(MarginOffset(top = -20.dp.toInt(), end = -20.dp.toInt())) + .build() + } + .setBackgroundColor("#cc000000".toColorInt()) + .setOnShowCallback { index -> + + } + .setOnDismissCallback { + binding?.popMenu!!.toggleMenu() + saveGuideState() + } + .interceptBackPressed(true) + .show() + + } + + private fun saveGuideState() { + SpUtil.instance().putInt(SpUtil.KEY_GUIDE_HAS_SHOW, 6) + } + private fun playVideo() { if (mPlayer != null && mVideoData != null && !mVideoData?.id.isNullOrEmpty()) { mPlayer?.loadOrCueVideo( @@ -232,8 +273,20 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment() { override fun onResume() { super.onResume() mPlayer?.play() + + if (!mHasShowGuide) { + val guideStateValue = SpUtil.instance().getInt(SpUtil.KEY_GUIDE_HAS_SHOW) + if (binding?.popMenu?.isVisible == true && guideStateValue == 5) { + binding?.popMenu?.postDelayed({ + showGuide() + mHasShowGuide = true + }, 5) + } + } + } + override fun onStop() { super.onStop() } diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt index 172ba29..e1a4b12 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt @@ -40,7 +40,7 @@ class SpUtil private constructor(spFileName: String) { const val KEY_GUIDE_HAS_GOT_NEWBIE_GOLD = "KEY_GUIDE_HAS_GOT_NEWBIE_GOLD" - const val KEY_GUIDE_HAS_SHOW = "KEY_GUIDE_STATE" // 1,2,3,4,5 5 stands for finish + const val KEY_GUIDE_HAS_SHOW = "KEY_GUIDE_STATE" // 1,2,3,4,5, 6 6 stands for finish