lmw
2024-09-25 92778728b83ce1a34ba21bcdb061afdeca16cce5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.sinata.xqmuse.ui.mine
 
import androidx.recyclerview.widget.GridLayoutManager
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.visible
import com.sinata.xqmuse.R
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.ui.course.adapter.MedalAdapter
import kotlinx.android.synthetic.main.activity_level.*
 
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() {
    }
 
    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()
    }
 
 
    /**
     * 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
    }
}