From 8d72ec1b07a4fe0863b41b1140a8c0e679867b93 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期四, 03 四月 2025 17:44:29 +0800 Subject: [PATCH] save --- app/src/main/java/com/sinata/xqmuse/ui/tree/TreeFragment.kt | 51 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 40 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/tree/TreeFragment.kt b/app/src/main/java/com/sinata/xqmuse/ui/tree/TreeFragment.kt index 6175656..0ff6077 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/tree/TreeFragment.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/tree/TreeFragment.kt @@ -52,7 +52,7 @@ // if (virtualBarHeigh >= getNavigationBarHeight()) //如果虚拟导航栏高度大于或等于导航栏高度,说明虚拟导航栏在显示,需要减去导航栏的高度 // behavior.setPeekHeight(dip(63) + getNavigationBarHeight(), true) // else - behavior.setPeekHeight(dip(63), true) + behavior.setPeekHeight(dip(63), true) tv_rule.setOnClickListener { HttpManager.getH5(6).requestByF(this){ _, data-> data?.let { @@ -60,6 +60,7 @@ } } } + tv_sign.clickDelay { HttpManager.sign().requestByF(this){_,data-> tv_sign.isEnabled = false @@ -78,13 +79,12 @@ EventBus.getDefault().post(EmptyEvent(Const.EventCode.SWITCH_HOME)) } iv_water.clickDelay { -// showWater() + showWater() // tree?.energyValue = 0 // tree!!.treeLevelType++ // showTreeAnim(tree!!.getTreeApng(),true) // audioPlayer.startPlayMusic(requireContext(),tree!!.getLevelUpAudio()) // TreeTipDialog.show(childFragmentManager,"升级","恭喜!你的树苗已升级为${tree!!.getLevelName()}阶段!") - if (tree?.energyValue == 0) toast("能量值不足") // else if (tree?.status == 1) @@ -104,10 +104,7 @@ tree?.energyValue = energyValue tv_power.text = "当前能量值:${(tree?.energyValue?:0)}" if (tree!!.treeLevelType != data.treeLevelType){ - tree!!.treeLevelType = data.treeLevelType - showTreeAnim(tree!!.getTreeApng(),true) - audioPlayer.startPlayMusic(requireContext(),tree!!.getLevelUpAudio()) - TreeTipDialog.show(childFragmentManager,"升级","恭喜!你的树苗已升级为${tree!!.getLevelName()}阶段!") + showGrowUpDialog(data.treeLevelType) }else if (tree!!.status != 2){ tree!!.status = 2 showTreeAnim(tree!!.getTreeApng(),tree!!.treeLevelType != 1) @@ -155,6 +152,42 @@ if (data == true) showFirst() } + } + + /** + * 依次弹窗升级和播放语音 + */ + private fun showGrowUpDialog(targetLevel:Int){ + tree!!.treeLevelType++ + showTreeAnim(tree!!.getTreeApng(),true) + audioPlayer.startPlayMusic(requireContext(),tree!!.getLevelUpAudio()) + val dialog = TreeTipDialog.show(childFragmentManager,"生命之树",tree!!.getLevelName()) + audioPlayer.setOnAudioStatusUpdateListener(object :AudioUtils.OnAudioStatusUpdateListener{ + override fun onUpdate(db: Double, time: Long) { + } + + override fun onStop(filePath: String?) { + } + + override fun onStartPlay() { + } + + override fun onFinishPlay() { + dialog.canDismiss() + } + + override fun onGetDuration(duration: Int) { + } + }) + dialog.onDismissCallback = object :TreeTipDialog.OnDismissCallback{ + override fun onDismiss() { + if (tree!!.treeLevelType != targetLevel) //继续展示下一级 + showGrowUpDialog(targetLevel) + else{ + audioPlayer.setOnAudioStatusUpdateListener(null) + } + } + } } fun getTree(){ @@ -258,9 +291,5 @@ val resourceId: Int = resources.getIdentifier("navigation_bar_height", "dimen", "android") val height: Int = resources.getDimensionPixelSize(resourceId) return height - } - - companion object{ - const val TAG_TREE = "TAG_TREE" } } -- Gitblit v1.7.1