MainActivity.kt 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package com.hdl.xl.activity
  2. import android.graphics.Color
  3. import android.os.Bundle
  4. import android.view.KeyEvent
  5. import androidx.core.content.ContextCompat
  6. import com.githang.statusbar.StatusBarCompat
  7. import com.hdl.xl.R
  8. import com.hdl.xl.base.MBActivity
  9. import com.hdl.xl.databinding.ActivityMainBinding
  10. import com.hdl.xl.fragment.*
  11. import com.hdl.xl.vmodel.MainVModel
  12. import com.ysnows.base.utils.KeySimulateUtils
  13. import com.ysnows.update.component.UpdateUtils
  14. import com.ysnows.base.utils.UiSwitch
  15. import java.util.*
  16. /**
  17. *Created by shihuiyun
  18. *on 2020/12/4
  19. */
  20. class MainActivity : MBActivity<MainVModel, ActivityMainBinding>(){
  21. override fun init(savedInstanceState: Bundle?) {
  22. super.init(savedInstanceState)
  23. StatusBarCompat.setStatusBarColor(this, Color.parseColor("#00000000"))
  24. // vm.getUserInfo()
  25. initData()
  26. //检查更新
  27. UpdateUtils.checkUpgrade(false,true)
  28. }
  29. override fun vmClass(): Class<MainVModel> {
  30. return MainVModel::class.java
  31. }
  32. private fun initData() {
  33. initMainMenu()
  34. binding.mainMenu.switchTab(0)
  35. }
  36. fun initMainMenu() {
  37. if (null == binding.mainMenu) {
  38. return
  39. }
  40. val menuTabBuilder = binding.mainMenu.tabBuilder()
  41. .setSelectColor(Color.parseColor("#59FFF1"))
  42. .setNormalColor(Color.parseColor("#ffffff"))
  43. val oneFragment = HomeFirstFragment()
  44. val twoFragment = HomeSaleFragmet()//ConSaleFragmet
  45. val threeFragment =HomeGoodFragmet()// ShopListFragmet
  46. val fourFragment = HomeMineFragment()//HomeMyFragment
  47. // fourFragment.arguments = B().putString("type", type).ok()
  48. val one = menuTabBuilder
  49. .setFragment(oneFragment)
  50. .setNormalDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_one))
  51. .setSelectedDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_one_focus))
  52. .setText("首页")
  53. .build(context())
  54. val two = menuTabBuilder
  55. .setFragment(twoFragment)
  56. .setNormalDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_two))
  57. .setSelectedDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_two_focus))
  58. .setText("寄售")
  59. .build(context())
  60. val three = menuTabBuilder
  61. .setFragment(threeFragment)
  62. .setText("藏品")
  63. .setNormalDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_three))
  64. .setSelectedDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_three_focus))
  65. .build(context())
  66. val four = menuTabBuilder
  67. .setFragment(fourFragment)
  68. .setText("我的")
  69. .setNormalDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_four))
  70. .setSelectedDrawable(ContextCompat.getDrawable(context(), R.drawable.menu_four_focus))
  71. .build(context())
  72. binding.mainMenu
  73. .addTab(one)
  74. .addTab(two)
  75. .addTab(three)
  76. .addTab(four)
  77. .rendor()
  78. // binding.mainMenu.setListener {
  79. // if(it == "3"){
  80. // RxBus.get().post(ConfigRx.REFRESH_USER_DATA, "")
  81. //
  82. // }
  83. // }
  84. }
  85. override fun listeners() {
  86. super.listeners()
  87. }
  88. override fun binding(): ActivityMainBinding {
  89. return ActivityMainBinding.inflate(layoutInflater)
  90. }
  91. override fun transluent(): Boolean {
  92. return true
  93. }
  94. override fun title(): String? {
  95. return null
  96. }
  97. override val isRxbus: Boolean
  98. get() = true
  99. /**
  100. * 双击退出函数
  101. */
  102. private var isExit = false
  103. /**
  104. * 菜单、返回键响应
  105. */
  106. override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
  107. if (keyCode == KeyEvent.KEYCODE_BACK) {
  108. exitBy2Click() //调用双击退出函数
  109. return true
  110. }
  111. return false
  112. }
  113. private fun exitBy2Click() {
  114. var tExit: Timer? = null
  115. if (!isExit) {
  116. isExit = true // 准备退出
  117. toast("再按一次退出应用")
  118. tExit = Timer()
  119. tExit.schedule(object : TimerTask() {
  120. override fun run() {
  121. isExit = false // 取消退出
  122. }
  123. }, 1500) // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
  124. } else {
  125. KeySimulateUtils.simulate(KeyEvent.KEYCODE_HOME)
  126. System.exit(0)
  127. }
  128. }
  129. override fun toLogin() {
  130. UiSwitch.single(context(), LoginActivity::class.java)
  131. finishActivity()
  132. }
  133. }