首页, 菜单 guide

This commit is contained in:
renhaoting 2025-12-18 19:18:11 +08:00
parent 9c83bbe0c1
commit 50341765a2
3 changed files with 56 additions and 3 deletions

View File

@ -325,7 +325,7 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
}
private fun saveGuideState() {
return SpUtil.instance().putInt(SpUtil.KEY_GUIDE_HAS_SHOW, 4)
SpUtil.instance().putInt(SpUtil.KEY_GUIDE_HAS_SHOW, 4)
}

View File

@ -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<ViewBinding>() {
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<ViewBinding>() {
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,7 +273,19 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment<ViewBinding>() {
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()

View File

@ -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