Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package wrongxx.guide;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.preference.PreferenceManager;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentManager;
- import android.support.v7.app.ActionBar;
- import android.support.v7.app.AppCompatDelegate;
- import android.support.v7.widget.SwitchCompat;
- import android.view.View;
- import android.support.design.widget.NavigationView;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.ActionBarDrawerToggle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.CompoundButton;
- import android.widget.Switch;
- public class MainActivity extends AppCompatActivity
- implements NavigationView.OnNavigationItemSelectedListener {
- Toolbar toolbar;
- boolean exit = true;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- if(AppCompatDelegate.getDefaultNightMode()==AppCompatDelegate.MODE_NIGHT_YES) {
- setTheme(R.style.DarkTheme);
- }
- else setTheme(R.style.LightTheme);
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // Добавляем ToolBar
- toolbar = (Toolbar) findViewById(R.id.toolbar);
- toolbar.setTitle("Домашняя страница");
- setSupportActionBar(toolbar);
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
- this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawer.addDrawerListener(toggle);
- toggle.syncState();
- NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
- SwitchCompat themeswitch = findViewById(R.id.themeswitch);
- if(AppCompatDelegate.getDefaultNightMode()==AppCompatDelegate.MODE_NIGHT_YES) {
- themeswitch.setChecked(true);
- }
- themeswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
- restartApp();
- }
- else {
- AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
- restartApp();
- }
- }
- });
- }
- // Исключаем повторное открытыие активити
- @Override
- public void onBackPressed() {
- if(exit){
- moveTaskToBack(true);
- super.onBackPressed();
- } else {
- Intent intent = new Intent(this, MainActivity.class);
- startActivity(intent);
- }
- }
- // Настраиваем действия бокового меню
- @SuppressWarnings("StatementWithEmptyBody")
- @Override
- public boolean onNavigationItemSelected(MenuItem item) {
- // Handle navigation view item clicks here.
- Fragment fragment = null;
- int id = item.getItemId();
- if (id == R.id.homepage) {
- Intent intent = new Intent(this, MainActivity.class);
- startActivity(intent);
- } else if (id == R.id.heroes) {
- fragment = new HeroesFragment();
- } else if (id == R.id.maps) {
- fragment = new MapsFragment();
- } else if (id == R.id.moreinfo) {
- fragment = new MoreInfoFragment();
- } else if (id == R.id.aboutapp) {
- fragment = new AboutAppFragment();
- }
- if(fragment != null){
- FragmentManager fragmentManager = getSupportFragmentManager();
- fragmentManager.beginTransaction().replace(R.id.container, fragment).addToBackStack(null).commit();
- exit = false;
- } else {
- exit = true;}
- item.setChecked(true);
- toolbar.setTitle(item.getTitle());
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
- public void restartApp(){
- Intent i = new Intent(getApplicationContext(),MainActivity.class);
- startActivity(i);
- finish();;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement