package com.duqing.missions.ui.main; import androidx.viewpager2.widget.ViewPager2; import com.duqing.missions.R; import com.duqing.missions.base.activities.BaseActivity; import com.duqing.missions.base.adapter.FragmentAdapter; import com.duqing.missions.databinding.ActivityMainBinding; import com.duqing.missions.ui.main.dynamic.DynamicFragment; import com.duqing.missions.ui.main.hall.HallFragment; import com.duqing.missions.ui.main.home.HomeFragment; import com.duqing.missions.ui.main.mine.MineFragment; import com.google.android.material.navigation.NavigationBarView; public class MainActivity extends BaseActivity { @Override public void initViews() { setStatusBarBgColor(R.color.red); setStatusBarTextColor(false); binding.navView.setLabelVisibilityMode(NavigationBarView.LABEL_VISIBILITY_LABELED); binding.navView.setOnItemSelectedListener(item -> { for(int i = 0 ; i < binding.navView.getMenu().size() ; i ++){ if(item.getItemId() == binding.navView.getMenu().getItem(i).getItemId()){ binding.viewPager2.setCurrentItem(i); return true; } } return false; }); final FragmentAdapter fragmentAdapter = new FragmentAdapter(this); fragmentAdapter.addFragment(new HomeFragment()); fragmentAdapter.addFragment(new HallFragment()); fragmentAdapter.addFragment(new DynamicFragment()); fragmentAdapter.addFragment(new MineFragment()); //设置当前可见Item左右可见page数,次范围内不会被销毁 //禁用预加载 binding.viewPager2.setOffscreenPageLimit(ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT); binding.viewPager2.setAdapter(fragmentAdapter); binding.viewPager2.setCurrentItem(0); binding.viewPager2.setUserInputEnabled(false); //true:滑动,false:禁止滑动 binding.viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageSelected(int position) { binding.navView.getMenu().getItem(position).setChecked(true); } }); binding.viewPager2.setCurrentItem(0);//设置默认第 } }