package com.application.zhangshi_app_android.ui.main; import android.view.MenuItem; import androidx.annotation.NonNull; import androidx.viewpager2.widget.ViewPager2; import com.android.app_base.base.adapter.BaseVp2FragmentAdapter; import com.android.app_base.base.view.BaseActivity; import com.android.app_base.base.view.BaseFragment; import com.android.app_base.helper.DoubleClickHelper; import com.android.app_base.manager.AppManager; import com.application.zhangshi_app_android.BR; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.databinding.ActivityMainBinding; import com.application.zhangshi_app_android.ui.function.FunctionFragment; import com.application.zhangshi_app_android.ui.home.HomeFragment; import com.application.zhangshi_app_android.ui.personal_center.PersonalCenterFragment; import com.blankj.utilcode.util.ToastUtils; import com.google.android.material.navigation.NavigationBarView; /** * @author Ljj * @date 2023.3.15 * @desc app主页 */ public class MainActivity extends BaseActivity { @Override public int getLayoutId() { return R.layout.activity_main; } @Override public int getVariableId() { return BR.viewModel; } @Override public void initParam() { } @Override public void initView() { BaseVp2FragmentAdapter mPagerAdapter = new BaseVp2FragmentAdapter<>(this); mPagerAdapter.addFragment(HomeFragment.newInstance()); mPagerAdapter.addFragment(FunctionFragment.newInstance()); mPagerAdapter.addFragment(PersonalCenterFragment.newInstance()); binding.mainVp.setAdapter(mPagerAdapter); binding.mainVp.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageSelected(int position) { binding.mainBnv.setSelectedItemId(binding.mainBnv.getMenu().getItem(position).getItemId()); super.onPageSelected(position); } }); // 不使用图标默认变色 binding.mainBnv.setItemIconTintList(null); binding.mainBnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.navigation_home: binding.mainVp.setCurrentItem(0); return true; case R.id.navigation_function: binding.mainVp.setCurrentItem(1); return true; case R.id.navigation_personal_center: binding.mainVp.setCurrentItem(2); return true; default: break; } return false; } }); } @Override public void initData() { } @Override public void initLiveDataObserve() { } @Override protected void onDestroy() { binding.mainVp.setAdapter(null); binding.mainBnv.setOnItemSelectedListener(null); super.onDestroy(); } @Override public void onBackPressed() { if (DoubleClickHelper.isOnDoubleClick()) { moveTaskToBack(false); // 进行内存优化,销毁掉所有的界面 AppManager.getAppManager().finishAllActivity(); } else { ToastUtils.showShort("再按一次退出"); } } }