riku
2025-07-02 3013b813e5df6977c0be921928f73b1a3adde290
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package cn.flightfeather.thirdappmodule.module.dataanalysis.rank
 
import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.support.annotation.RequiresApi
import android.support.design.widget.TabLayout
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentPagerAdapter
import android.support.v4.content.ContextCompat
import android.support.v4.view.ViewCompat
import android.support.v7.app.AppCompatActivity
import android.view.Gravity
import android.view.View
import android.widget.TextView
import butterknife.ButterKnife
import butterknife.Unbinder
import cn.flightfeather.thirdappmodule.R
import cn.flightfeather.thirdappmodule.bean.vo.RankVo
import kotlinx.android.synthetic.main.activity_analysis_rank.*
import kotlinx.android.synthetic.main.layout_actionbar.*
 
class AnalysisRankActivity : AppCompatActivity() {
    private val TITLE = "排名"
    private var rankVo: RankVo? = null
    private var topTask: String? = null
    private var sceneTypeName: String? = null
    private var rankType = 0
    private var unbinder: Unbinder? = null
 
    //</editor-fold>
    //<editor-fold desc="生命周期">
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_analysis_rank)
        unbinder = ButterKnife.bind(this)
        val intent = intent
        rankVo = intent.getSerializableExtra(ARG_PARAM1) as RankVo
        topTask = intent.getStringExtra(ARG_PARAM2)
        sceneTypeName = intent.getStringExtra(ARG_PARAM3)
        rankType = intent.getIntExtra(ARG_PARAM4, 0)
        initToolBar()
        initTitle()
        initTab()
        initViewPager()
        initClickListener()
    }
 
    override fun onDestroy() {
        super.onDestroy()
        if (unbinder != null) {
            unbinder!!.unbind()
        }
    }
 
    //</editor-fold>
    //<editor-fold desc="标题栏">
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    private fun initToolBar() {
        action_bar_rank!!.elevation = 0f
        action_bar_rank!!.setBackgroundColor(Color.alpha(0))
        action_bar_rank!!.findViewById<View>(R.id.spinner_topclass_task).visibility = View.GONE
        //        action_bar.findViewById(R.id.img_left).setVisibility(View.GONE);
        action_bar_rank!!.findViewById<View>(R.id.img_right).visibility = View.INVISIBLE
        action_bar_rank!!.findViewById<View>(R.id.ll_menu_text).visibility = View.VISIBLE
        val title = action_bar_rank!!.findViewById<TextView>(R.id.actionbar_title)
        title.text = TITLE
    }
 
    fun initClickListener() {
        img_left.setOnClickListener { finish() }
    }
 
    //</editor-fold>
    //<editor-fold desc="内容标题">
    private fun initTitle() {
        text_topTask!!.text = topTask
        text_scene!!.text = sceneTypeName
    }
 
    //</editor-fold>
    //<editor-fold desc="ViewPager初始化">
    private var tabIndicators = mutableListOf<String>()//tab标题
    private var tabFragments = mutableListOf<Fragment>()//内容
    private var contentAdapter: ContentPagerAdapter? = null//viewPager内容页面适配器
 
    private fun initTab() {
        tabLayout!!.tabMode = TabLayout.MODE_SCROLLABLE
        tabLayout!!.tabGravity = Gravity.CENTER_HORIZONTAL
        tabLayout!!.setTabTextColors(ContextCompat.getColor(this, R.color.black), ContextCompat.getColor(this, R.color.orange))
        tabLayout!!.setSelectedTabIndicatorColor(ContextCompat.getColor(this, R.color.orange))
        ViewCompat.setElevation(tabLayout!!, 2f)
        tabLayout!!.setupWithViewPager(viewPager) //将tab和viewPager绑定
    }
 
    private fun initViewPager() {
        tabIndicators.add("场景综合排名")
        tabIndicators.add("街道综合排名")
        tabFragments.add(SceneRankContentFragment.newInstance(rankVo!!.sceneRanks))
        tabFragments.add(TownRankContentFragment.newInstance(rankVo!!.townRanks))
        contentAdapter = ContentPagerAdapter(supportFragmentManager)
        viewPager!!.adapter = contentAdapter
        try {
            viewPager!!.currentItem = rankType
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }
 
    /**
     * viewPager适配器
     */
    internal inner class ContentPagerAdapter(fm: FragmentManager?) : FragmentPagerAdapter(fm) {
        override fun getItem(position: Int): Fragment {
            return tabFragments!![position]
        }
 
        override fun getCount(): Int {
            return tabIndicators!!.size
        }
 
        override fun getPageTitle(position: Int): CharSequence? {
            return tabIndicators!![position]
        }
    } //</editor-fold>
 
    companion object {
        //<editor-fold desc="全局变量">
        const val ARG_PARAM1 = "RankVo"
        const val ARG_PARAM2 = "topTask"
        const val ARG_PARAM3 = "sceneTypeName"
        const val ARG_PARAM4 = "rankType" //首次展示的排名类型,场景综合排名 或 街道综合排名
    }
}