b1e41569464632fe30bbf549c6af4157e376b8b0.svn-base 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. package eVVM.apk.ui.home;
  2. import android.support.annotation.NonNull;
  3. import android.support.design.widget.BottomNavigationView;
  4. import android.support.v4.view.ViewPager;
  5. import android.view.KeyEvent;
  6. import android.view.MenuItem;
  7. import com.hjq.base.BaseFragmentAdapter;
  8. import com.hjq.widget.NoScrollViewPager;
  9. import butterknife.BindView;
  10. import eVVM.apk.R;
  11. import eVVM.apk.common.MyActivity;
  12. import eVVM.apk.common.MyLazyFragment;
  13. import eVVM.apk.helper.ActivityStackManager;
  14. import eVVM.apk.helper.DoubleClickHelper;
  15. import eVVM.apk.helper.Encrypt;
  16. import eVVM.apk.helper.SPUtils;
  17. import eVVM.apk.ui.My.MyFragment;
  18. import eVVM.apk.ui.alarmwaring.AlarmWaringFragment;
  19. import eVVM.apk.ui.bean.VnDetailBean;
  20. import eVVM.apk.ui.home.uploadChip.UploadChipContract;
  21. import eVVM.apk.ui.report.ReportvnFragment;
  22. import eVVM.apk.ui.riskwaring.RiskWaringFragment;
  23. /**
  24. * 厂家管理员登录页面
  25. */
  26. public class FactorAdminActivity extends BaseGPSActivity implements ViewPager.OnPageChangeListener, UploadChipContract.View,
  27. BottomNavigationView.OnNavigationItemSelectedListener {
  28. @BindView(R.id.vp_adminhome_pager)
  29. NoScrollViewPager mViewPager;
  30. @BindView(R.id.bv_adminhome_navigation)
  31. BottomNavigationView mBottomNavigationView;
  32. private BaseFragmentAdapter<MyLazyFragment> mPagerAdapter;
  33. @Override
  34. protected int getLayoutId() {
  35. return R.layout.activity_factor_admin;
  36. }
  37. @Override
  38. protected int getTitleId() {
  39. return 0;
  40. }
  41. @Override
  42. protected void initView() {
  43. mViewPager.addOnPageChangeListener(this);
  44. // 不使用图标默认变色
  45. mBottomNavigationView.setItemIconTintList(null);
  46. mBottomNavigationView.setOnNavigationItemSelectedListener(this);
  47. }
  48. @Override
  49. protected void initData() {
  50. mPagerAdapter = new BaseFragmentAdapter<>(this);
  51. mPagerAdapter.addFragment(AlarmWaringFragment.newInstance());
  52. mPagerAdapter.addFragment(RiskWaringFragment.newInstance());
  53. mPagerAdapter.addFragment(ReportvnFragment.newInstance());
  54. mPagerAdapter.addFragment(MyFragment.newInstance());
  55. mViewPager.setAdapter(mPagerAdapter);
  56. // 限制页面数量
  57. mViewPager.setOffscreenPageLimit(mPagerAdapter.getCount());
  58. }
  59. @Override
  60. public boolean onKeyDown(int keyCode, KeyEvent event) {
  61. // 回调当前 Fragment 的 onKeyDown 方法
  62. if (mPagerAdapter.getCurrentFragment().onKeyDown(keyCode, event)) {
  63. return true;
  64. }
  65. return super.onKeyDown(keyCode, event);
  66. }
  67. @Override
  68. public void onBackPressed() {
  69. if (DoubleClickHelper.isOnDoubleClick()) {
  70. //移动到上一个任务栈,避免侧滑引起的不良反应
  71. moveTaskToBack(false);
  72. postDelayed(new Runnable() {
  73. @Override
  74. public void run() {
  75. // 进行内存优化,销毁掉所有的界面
  76. ActivityStackManager.getInstance().finishAllActivities();
  77. // 销毁进程
  78. System.exit(0);
  79. }
  80. }, 300);
  81. } else {
  82. toast(getResources().getString(R.string.home_exit_hint));
  83. }
  84. }
  85. @Override
  86. public boolean isSupportSwipeBack() {
  87. // 不使用侧滑功能
  88. return false;
  89. }
  90. @Override
  91. public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
  92. switch (menuItem.getItemId()) {
  93. case R.id.home_alarm:
  94. //mViewPager.setCurrentItem(0);
  95. //mViewPager.setCurrentItem(0, false);
  96. // 如果切换的是相邻之间的 Item 就显示切换动画,如果不是则不要动画
  97. mViewPager.setCurrentItem(0, mViewPager.getCurrentItem() == 1);
  98. return true;
  99. case R.id.home_risk:
  100. //mViewPager.setCurrentItem(1);
  101. //mViewPager.setCurrentItem(1, false);
  102. mViewPager.setCurrentItem(1, mViewPager.getCurrentItem() == 0 || mViewPager.getCurrentItem() == 2);
  103. return true;
  104. case R.id.home_reportvn:
  105. //mViewPager.setCurrentItem(2);
  106. //mViewPager.setCurrentItem(2, false);
  107. mViewPager.setCurrentItem(2, mViewPager.getCurrentItem() == 1 || mViewPager.getCurrentItem() == 3);
  108. return true;
  109. case R.id.home_me:
  110. //mViewPager.setCurrentItem(2);
  111. //mViewPager.setCurrentItem(2, false);
  112. mViewPager.setCurrentItem(3, mViewPager.getCurrentItem() == 2);
  113. return true;
  114. }
  115. return false;
  116. }
  117. @Override
  118. public void onPageScrolled(int i, float v, int i1) {
  119. }
  120. @Override
  121. public void onPageSelected(int position) {
  122. switch (position) {
  123. case 0:
  124. mBottomNavigationView.setSelectedItemId(R.id.home_alarm);
  125. break;
  126. case 1:
  127. mBottomNavigationView.setSelectedItemId(R.id.home_risk);
  128. break;
  129. case 2:
  130. mBottomNavigationView.setSelectedItemId(R.id.home_reportvn);
  131. break;
  132. case 3:
  133. mBottomNavigationView.setSelectedItemId(R.id.home_me);
  134. break;
  135. }
  136. }
  137. @Override
  138. public void onPageScrollStateChanged(int i) {
  139. }
  140. @Override
  141. public void uploadChipError(String msg) {
  142. }
  143. @Override
  144. public void uploadChipSuccess(VnDetailBean data) {
  145. }
  146. }