2024-04-02
MainActivity中使用BottomNavigationView、ViewPager2、Toolbar实现
public class MainActivity extends AppCompatActivity { private BottomNavigationView bottomNavigationView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initToolbar(); initFragment(); initNavigationBottom(); } @SuppressLint("ResourceAsColor") private void initNavigationBottom() { bottomNavigationView = findViewById(R.id.navigation_bottom); bottomNavigationView.setItemIconTintList(null); bottomNavigationView.setOnNavigationItemSelectedListener(itemSelectedListener); } @Override public boolean onCreateOptionsMenu(Menu menu) { return super.onCreateOptionsMenu(menu); } private void initFragment() { DiariesFragment diariesFragment = getDiariesFragment(); if (diariesFragment == null) { diariesFragment = new DiariesFragment(); ActivityUtils.addFragmentToActivity(getSupportFragmentManager(), diariesFragment, R.id.content); } } private DiariesFragment getDiariesFragment() { return (DiariesFragment) getSupportFragmentManager().findFragmentById(R.id.content); } private void initToolbar() { //设置顶部状态栏为透明 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); } private final BottomNavigationView.OnNavigationItemSelectedListener itemSelectedListener = item -> { switch (item.getItemId()) { case R.id.menu_diary: MeController.setToolbarVisibility(this); ActivityUtils.removeFragmentTOActivity(getSupportFragmentManager(), getSupportFragmentManager().findFragmentById(R.id.content)); ActivityUtils.addFragmentToActivity(getSupportFragmentManager(), new DiariesFragment(), R.id.content); break; case R.id.menu_me: findViewById(R.id.toolbar).setVisibility(View.GONE); ActivityUtils.removeFragmentTOActivity(getSupportFragmentManager(), getSupportFragmentManager().findFragmentById(R.id.content)); ActivityUtils.addFragmentToActivity(getSupportFragmentManager(), new MeFragment(), R.id.content); break; case R.id.menu_new: bottomNavigationView.setVisibility(View.GONE); MeController.setToolbarVisibility(this); ActivityUtils.removeFragmentTOActivity(getSupportFragmentManager(), getSupportFragmentManager().findFragmentById(R.id.content)); ActivityUtils.addFragmentToActivity(getSupportFragmentManager(), new AddDiaryFragment(), R.id.content); break; } return true; }; }
浙公网安备 33010602011771号