package cn.flightfeather.thirdappmodule.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" //首次展示的排名类型,场景综合排名 或 街道综合排名
|
}
|
}
|