You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
3.6 KiB
86 lines
3.6 KiB
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(); |
|
} |
|
} |