package eVVM.apk.ui.home; import android.support.annotation.NonNull; import android.support.design.widget.BottomNavigationView; import android.support.v4.view.ViewPager; import android.view.KeyEvent; import android.view.MenuItem; import com.hjq.base.BaseFragmentAdapter; import com.hjq.widget.NoScrollViewPager; import butterknife.BindView; import eVVM.apk.R; import eVVM.apk.common.MyActivity; import eVVM.apk.common.MyLazyFragment; import eVVM.apk.helper.ActivityStackManager; import eVVM.apk.helper.DoubleClickHelper; import eVVM.apk.helper.Encrypt; import eVVM.apk.helper.SPUtils; import eVVM.apk.ui.My.MyFragment; import eVVM.apk.ui.alarmwaring.AlarmWaringFragment; import eVVM.apk.ui.bean.VnDetailBean; import eVVM.apk.ui.home.uploadChip.UploadChipContract; import eVVM.apk.ui.report.ReportvnFragment; import eVVM.apk.ui.riskwaring.RiskWaringFragment; /** * 厂家管理员登录页面 */ public class FactorAdminActivity extends BaseGPSActivity implements ViewPager.OnPageChangeListener, UploadChipContract.View, BottomNavigationView.OnNavigationItemSelectedListener { @BindView(R.id.vp_adminhome_pager) NoScrollViewPager mViewPager; @BindView(R.id.bv_adminhome_navigation) BottomNavigationView mBottomNavigationView; private BaseFragmentAdapter mPagerAdapter; @Override protected int getLayoutId() { return R.layout.activity_factor_admin; } @Override protected int getTitleId() { return 0; } @Override protected void initView() { mViewPager.addOnPageChangeListener(this); // 不使用图标默认变色 mBottomNavigationView.setItemIconTintList(null); mBottomNavigationView.setOnNavigationItemSelectedListener(this); } @Override protected void initData() { mPagerAdapter = new BaseFragmentAdapter<>(this); mPagerAdapter.addFragment(AlarmWaringFragment.newInstance()); mPagerAdapter.addFragment(RiskWaringFragment.newInstance()); mPagerAdapter.addFragment(ReportvnFragment.newInstance()); mPagerAdapter.addFragment(MyFragment.newInstance()); mViewPager.setAdapter(mPagerAdapter); // 限制页面数量 mViewPager.setOffscreenPageLimit(mPagerAdapter.getCount()); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // 回调当前 Fragment 的 onKeyDown 方法 if (mPagerAdapter.getCurrentFragment().onKeyDown(keyCode, event)) { return true; } return super.onKeyDown(keyCode, event); } @Override public void onBackPressed() { if (DoubleClickHelper.isOnDoubleClick()) { //移动到上一个任务栈,避免侧滑引起的不良反应 moveTaskToBack(false); postDelayed(new Runnable() { @Override public void run() { // 进行内存优化,销毁掉所有的界面 ActivityStackManager.getInstance().finishAllActivities(); // 销毁进程 System.exit(0); } }, 300); } else { toast(getResources().getString(R.string.home_exit_hint)); } } @Override public boolean isSupportSwipeBack() { // 不使用侧滑功能 return false; } @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { switch (menuItem.getItemId()) { case R.id.home_alarm: //mViewPager.setCurrentItem(0); //mViewPager.setCurrentItem(0, false); // 如果切换的是相邻之间的 Item 就显示切换动画,如果不是则不要动画 mViewPager.setCurrentItem(0, mViewPager.getCurrentItem() == 1); return true; case R.id.home_risk: //mViewPager.setCurrentItem(1); //mViewPager.setCurrentItem(1, false); mViewPager.setCurrentItem(1, mViewPager.getCurrentItem() == 0 || mViewPager.getCurrentItem() == 2); return true; case R.id.home_reportvn: //mViewPager.setCurrentItem(2); //mViewPager.setCurrentItem(2, false); mViewPager.setCurrentItem(2, mViewPager.getCurrentItem() == 1 || mViewPager.getCurrentItem() == 3); return true; case R.id.home_me: //mViewPager.setCurrentItem(2); //mViewPager.setCurrentItem(2, false); mViewPager.setCurrentItem(3, mViewPager.getCurrentItem() == 2); return true; } return false; } @Override public void onPageScrolled(int i, float v, int i1) { } @Override public void onPageSelected(int position) { switch (position) { case 0: mBottomNavigationView.setSelectedItemId(R.id.home_alarm); break; case 1: mBottomNavigationView.setSelectedItemId(R.id.home_risk); break; case 2: mBottomNavigationView.setSelectedItemId(R.id.home_reportvn); break; case 3: mBottomNavigationView.setSelectedItemId(R.id.home_me); break; } } @Override public void onPageScrollStateChanged(int i) { } @Override public void uploadChipError(String msg,boolean noNetRepeatFlag) { } @Override public void uploadChipSuccess(VnDetailBean data) { } }