package cn.flightfeather.thirdappmodule.module.dataanalysis
|
|
import android.os.Bundle
|
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.MenuItem
|
import cn.flightfeather.thirdappmodule.R
|
import cn.flightfeather.thirdappmodule.bean.vo.TaskVo
|
import kotlinx.android.synthetic.main.activity_analysis_tab.*
|
import kotlinx.android.synthetic.main.layout_toolbar.*
|
import kotlinx.android.synthetic.main.layout_toolbar.toolbar
|
import java.util.*
|
|
/**
|
* 2018.11.09
|
* @author riku
|
* 顶层任务详细信息tab切换页面
|
*/
|
class AnalysisTabActivity : AppCompatActivity() {
|
//tab标题
|
private var tabIndicators = mutableListOf<String>()
|
//内容
|
private var tabFragments = mutableListOf<Fragment>()
|
//viewPager内容页面适配器
|
private var contentAdapter: ContentPagerAdapter? = null
|
//需要传入的顶层任务对象
|
private var taskProgressVo: TaskVo? = null
|
private val activityTitle = "任务分析"
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
setContentView(R.layout.activity_analysis_tab)
|
super.onCreate(savedInstanceState)
|
val intent = intent
|
taskProgressVo = intent.getSerializableExtra(ARG_PARAM1) as TaskVo
|
initToolbar()
|
initTab()
|
initViewPager()
|
}
|
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
when (item.itemId) {
|
android.R.id.home -> finish()
|
}
|
return super.onOptionsItemSelected(item)
|
}
|
|
//<editor-fold desc="初始化toolbar">
|
private fun initToolbar() {
|
setSupportActionBar(toolbar)
|
Objects.requireNonNull(supportActionBar)!!.setDisplayHomeAsUpEnabled(true)
|
supportActionBar!!.setDisplayShowTitleEnabled(false)
|
toolbar_secondTitle!!.text = activityTitle
|
}
|
|
//</editor-fold>
|
//<editor-fold desc="初始化tab栏">
|
private fun initTab() {
|
tabLayout!!.tabMode = TabLayout.MODE_SCROLLABLE
|
tabLayout!!.setTabTextColors(ContextCompat.getColor(this, R.color.gray_btn_bg_color), ContextCompat.getColor(this, R.color.white))
|
tabLayout!!.setSelectedTabIndicatorColor(ContextCompat.getColor(this, R.color.white))
|
ViewCompat.setElevation(tabLayout!!, 10f)
|
tabLayout!!.setupWithViewPager(viewPager) //将tab和viewPager绑定
|
}
|
|
//</editor-fold>
|
//<editor-fold desc="初始化内容界面viewpager">
|
private fun initViewPager() {
|
tabIndicators.add("详细进度")
|
tabIndicators.add("问题分布")
|
tabIndicators.add("排名")
|
tabFragments.add(ProgressDetailFragment.newInstance(taskProgressVo))
|
tabFragments.add(AnalysisProblemFragment())
|
// tabFragments.add(new AnysisRankFragment());
|
contentAdapter = ContentPagerAdapter(supportFragmentManager)
|
viewPager!!.adapter = contentAdapter
|
}
|
//</editor-fold>
|
/**
|
* 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]
|
}
|
}
|
|
companion object {
|
const val ARG_PARAM1 = "taskProgressVo"
|
}
|
}
|