package com.sinata.xqmuse
|
|
import android.content.Intent
|
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.FragmentPagerAdapter
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SPUtils
|
import com.flyco.tablayout.listener.CustomTabEntity
|
import com.flyco.tablayout.listener.OnTabSelectListener
|
import com.github.zackratos.ultimatebar.UltimateBar
|
import com.sinata.xqmuse.dialog.TipDialog
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.UserInfo
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.ui.course.CourseFragment
|
import com.sinata.xqmuse.ui.discovery.DiscoveryFragment
|
import com.sinata.xqmuse.ui.home.HomeFragment
|
import com.sinata.xqmuse.ui.mine.MineFragment
|
import com.sinata.xqmuse.ui.mine.ShareActivity
|
import com.sinata.xqmuse.ui.tree.TreeFragment
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.fragment_home.*
|
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.Subscribe
|
import org.jetbrains.anko.startActivity
|
|
class MainActivity : TransparentStatusBarActivity(), OnTabSelectListener{
|
override fun setContentView() = R.layout.activity_main
|
|
private val fragments = arrayListOf<Fragment>()
|
|
override fun initClick() {
|
}
|
|
override fun initView() {
|
titleBar.gone()
|
useWhiteTitle()
|
initTab()
|
if (!intent.getStringExtra("code").isNullOrEmpty()){
|
startActivity<ShareActivity>("code" to intent.getStringExtra("code"))
|
}
|
}
|
|
override fun onNewIntent(intent: Intent) {
|
super.onNewIntent(intent)
|
if (!intent.getStringExtra("code").isNullOrEmpty()){
|
startActivity<ShareActivity>("code" to intent.getStringExtra("code"))
|
}
|
}
|
|
private fun initTab() {
|
val titles = arrayListOf("首页","课程","","疗愈馆","我的")
|
val iconChecked = arrayListOf(
|
R.mipmap.home_selected,
|
R.mipmap.play_selected,
|
0,
|
R.mipmap.faxian_selected,
|
R.mipmap.mine_selected
|
)
|
val iconUnchecked = arrayListOf(
|
R.mipmap.home,
|
R.mipmap.play_normal,
|
0,
|
R.mipmap.faxian,
|
R.mipmap.mine
|
)
|
fragments.add(HomeFragment())
|
fragments.add(CourseFragment())
|
fragments.add(TreeFragment())
|
fragments.add(DiscoveryFragment())
|
fragments.add(MineFragment())
|
view_pager.offscreenPageLimit = fragments.size
|
view_pager.adapter = object : FragmentPagerAdapter(supportFragmentManager,0) {
|
override fun getItem(p0: Int): Fragment {
|
return fragments[p0]
|
}
|
|
override fun getCount(): Int {
|
return fragments.size
|
}
|
}
|
val tabs = arrayListOf<CustomTabEntity>()
|
(0 until fragments.size).forEach {
|
tabs.add(object : CustomTabEntity {
|
override fun getTabUnselectedIcon() = iconUnchecked[it]
|
|
override fun getTabSelectedIcon() = iconChecked[it]
|
|
override fun getTabTitle() = titles[it]
|
})
|
}
|
tab_bar.setTabData(tabs)
|
tab_bar.setOnTabSelectListener(this)
|
}
|
|
override fun onTabSelect(position: Int) {
|
view_pager.currentItem = position
|
UltimateBar.with(this@MainActivity)
|
.statusDark(position != 0&&position!=1)
|
.create().immersionBar() //沉浸状态栏
|
if (position == 4){
|
(fragments[4] as MineFragment).queryUnread()
|
}
|
}
|
|
override fun onTabReselect(position: Int) {
|
}
|
|
@Subscribe
|
fun onSwitch(e:EmptyEvent){
|
if (e.code == Const.EventCode.SWITCH_HOME){
|
tab_bar.currentTab = 0
|
onTabSelect(0)
|
}else if(e.code == Const.EventCode.CHANGE_STARTCLASS){
|
tab_bar.currentTab = 1
|
onTabSelect(1)
|
}else if(e.code == Const.EventCode.SWITCH_DISCOVERY){
|
tab_bar.currentTab = 2
|
onTabSelect(2)
|
}else if(e.code == Const.EventCode.CHANGE_EXPLORE){
|
tab_bar.currentTab = 3
|
onTabSelect(3)
|
}
|
}
|
|
override fun onResume() {
|
super.onResume()
|
if (view_pager.currentItem == 4){
|
(fragments[4] as MineFragment).queryUnread()
|
}
|
}
|
}
|