From 2f204867ad034d3a95ba9acc112d6507f296447b Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期三, 23 十月 2024 18:20:43 +0800 Subject: [PATCH] save --- app/src/main/java/com/sinata/xqmuse/ui/mine/LevelActivity.kt | 82 ++++++++++++++++++++++------------------- 1 files changed, 44 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/LevelActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/LevelActivity.kt index e5f8903..35f12a7 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/mine/LevelActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/LevelActivity.kt @@ -1,57 +1,63 @@ package com.sinata.xqmuse.ui.mine -import androidx.recyclerview.widget.GridLayoutManager +import android.webkit.WebChromeClient +import android.webkit.WebSettings +import android.webkit.WebViewClient +import cn.sinata.xldutils.gone import cn.sinata.xldutils.utils.SpanBuilder -import cn.sinata.xldutils.visible import com.sinata.xqmuse.R +import com.sinata.xqmuse.network.HttpManager +import com.sinata.xqmuse.network.request import com.sinata.xqmuse.ui.TransparentStatusBarActivity -import com.sinata.xqmuse.ui.course.adapter.MedalAdapter import kotlinx.android.synthetic.main.activity_level.* +import org.jetbrains.anko.backgroundColor class LevelActivity : TransparentStatusBarActivity() { override fun setContentView() = R.layout.activity_level - private val count by lazy { intent.getIntExtra("count",0) } - - private val level = arrayListOf("新人","青铜达人","白银达人","黄金达人","钻石达人","大师达人","王者达人") - private val levelCount = arrayListOf(0,10,30,60,90,120,240) - private val gotList = arrayListOf<String>() - private val adapter = MedalAdapter(gotList) override fun initClick() { + iv_back.setOnClickListener { finish() } + tv_rule.setOnClickListener { + + } } override fun initView() { - val levelS = "LV%d.%s".format(getLevel(),level[getLevel()-1]) - tv_level.text = SpanBuilder(levelS).size(levelS.indexOf("."),levelS.length,16).build() - tv_count.text = "打卡次数:${count}" - if (getLevel() != 7){ - tv_next.visible() - tv_next.text = "再打卡%d次,可升级%s".format(levelCount[getLevel()]-count,level[getLevel()]) - } - rv_medal.layoutManager = GridLayoutManager(this,4) - rv_medal.adapter = adapter - gotList.addAll(level.take(getLevel())) - adapter.notifyDataSetChanged() + titleBar.gone() + val settings = webView.settings + settings.javaScriptEnabled = true + settings.javaScriptCanOpenWindowsAutomatically = true + settings.defaultTextEncodingName = "utf-8" + settings.domStorageEnabled = true + settings.setSupportZoom(true) +// settings.textZoom = 200 + settings.useWideViewPort = true + settings.loadWithOverviewMode = true + settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING + webView.webChromeClient = object : WebChromeClient() {} + webView.webViewClient = object : WebViewClient() {} + webView.backgroundColor = 0 + webView.background.alpha = 0 + getInfo() } - - /** - * 1 新人 - 2 青铜达人:打卡10次。 - 3 白银达人:打卡30次。 - 4 黄金达人:打卡60次。 - 5 钻石达人:打卡90次。 - 6 大师达人:打卡120次。 - 7 王者达人:打卡240次。 - */ - private fun getLevel() = when(count){ - in 0..9-> 1 - in 10..29-> 2 - in 30..59-> 3 - in 60..89-> 4 - in 90..119-> 5 - in 120..239-> 6 - else -> 7 + private fun getInfo() { + HttpManager.healingLevel().request(this) { _, data -> + iv_level.setImageURI(data?.levelIcon) + val s = "当前等级 ${data?.growthValue}/${data?.nextLevel}" + tv_current.text = SpanBuilder(s).bold(4,s.indexOf("/")).build() + tv_next.text = "你离下一等级还差${data?.differenceLevel}经验值,加油!" + val sHead = + "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>" + webView!!.loadDataWithBaseURL( + null, + sHead + data?.content, + "text/html", + "utf-8", + null + ) + mProgressBar.progress = (data?.growthValue?:0)*100/(data?.nextLevel?:100) + } } } -- Gitblit v1.7.1