From bee2d6cacc7ff3af682897eee1eac4720f5e1b8d Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期六, 08 二月 2025 18:15:37 +0800 Subject: [PATCH] 新增功能开发完成 --- app/src/main/java/com/sinata/xqmuse/ui/tree/TreeFragment.kt | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 39 insertions(+), 10 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 ddc5d59..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 @@ -84,7 +85,6 @@ // 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