package cc.niushuai.dididone; import android.os.Bundle; import android.view.Menu; import android.view.View; import androidx.appcompat.app.AppCompatActivity; import androidx.core.view.LayoutInflaterCompat; import androidx.drawerlayout.widget.DrawerLayout; import androidx.navigation.NavController; import androidx.navigation.Navigation; import androidx.navigation.ui.AppBarConfiguration; import androidx.navigation.ui.NavigationUI; import com.google.android.material.navigation.NavigationView; import com.google.android.material.snackbar.Snackbar; import com.mikepenz.community_material_typeface_library.CommunityMaterial; import com.mikepenz.devicon_typeface_library.DevIcon; import com.mikepenz.fontawesome_typeface_library.FontAwesome; import com.mikepenz.foundation_icons_typeface_library.FoundationIcons; import com.mikepenz.google_material_typeface_library.GoogleMaterial; import com.mikepenz.iconics.Iconics; import com.mikepenz.iconics.context.IconicsLayoutInflater2; import com.mikepenz.ionicons_typeface_library.Ionicons; import cc.niushuai.dididone.databinding.ActivityMainBinding; public class MainActivity extends AppCompatActivity { private AppBarConfiguration mAppBarConfiguration; private ActivityMainBinding binding; private void iconicsInit() { LayoutInflaterCompat.setFactory2(getLayoutInflater(), new IconicsLayoutInflater2(getDelegate())); Iconics.init(getApplicationContext()); Iconics.registerFont(new DevIcon()); Iconics.registerFont(new CommunityMaterial()); Iconics.registerFont(new GoogleMaterial()); Iconics.registerFont(new Ionicons()); Iconics.registerFont(new FontAwesome()); Iconics.registerFont(new FoundationIcons()); } @Override protected void onCreate(Bundle savedInstanceState) { iconicsInit(); super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); setSupportActionBar(binding.appBarMain.toolbar); binding.appBarMain.fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); DrawerLayout drawer = binding.drawerLayout; NavigationView navigationView = binding.navView; // Passing each menu ID as a set of Ids because each // menu should be considered as top level destinations. mAppBarConfiguration = new AppBarConfiguration.Builder( R.id.n_nav_calendar, R.id.n_nav_statistic, R.id.n_nav_statistic) .setOpenableLayout(drawer) .build(); NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); NavigationUI.setupWithNavController(navigationView, navController); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onSupportNavigateUp() { NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); return NavigationUI.navigateUp(navController, mAppBarConfiguration) || super.onSupportNavigateUp(); } }