要实现Android导航与bottomNavigationView和TabLayout,可以按照以下步骤进行:
BottomNavigationView bottomNavigationView = findViewById(R.id.bottomNavigationView);
TabLayout tabLayout = findViewById(R.id.tabLayout);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// 处理底部导航栏的点击事件
switch (item.getItemId()) {
case R.id.menu_item1:
// 切换到页面1
viewPager.setCurrentItem(0);
return true;
case R.id.menu_item2:
// 切换到页面2
viewPager.setCurrentItem(1);
return true;
case R.id.menu_item3:
// 切换到页面3
viewPager.setCurrentItem(2);
return true;
default:
return false;
}
}
});
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
// 处理TabLayout的点击事件
int position = tab.getPosition();
viewPager.setCurrentItem(position);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
ViewPager viewPager = findViewById(R.id.viewPager);
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
// 添加页面到ViewPager中
adapter.addFragment(fragment1, "页面1");
adapter.addFragment(fragment2, "页面2");
adapter.addFragment(fragment3, "页面3");
viewPager.setAdapter(adapter);
// 关联ViewPager和TabLayout
tabLayout.setupWithViewPager(viewPager);
// 设置默认选中的页面
viewPager.setCurrentItem(0);
public class ViewPagerAdapter extends FragmentPagerAdapter {
private final List fragmentList = new ArrayList<>();
private final List titleList = new ArrayList<>();
public ViewPagerAdapter(@NonNull FragmentManager fragmentManager) {
super(fragmentManager);
}
public void addFragment(Fragment fragment, String title) {
fragmentList.add(fragment);
titleList.add(title);
}
@NonNull
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titleList.get(position);
}
}
这样,你就可以实现Android导航与bottomNavigationView和TabLayout了。在底部导航栏和TabLayout中选择不同的项时,ViewPager会自动切换到对应的页面。