Advertisement
Guest User

Untitled

a guest
Dec 18th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.79 KB | None | 0 0
  1. package wrongxx.guide;
  2.  
  3. import android.content.Intent;
  4. import android.content.SharedPreferences;
  5. import android.os.Bundle;
  6. import android.preference.PreferenceManager;
  7. import android.support.design.widget.FloatingActionButton;
  8. import android.support.design.widget.Snackbar;
  9. import android.support.v4.app.Fragment;
  10. import android.support.v4.app.FragmentManager;
  11. import android.support.v7.app.ActionBar;
  12. import android.support.v7.app.AppCompatDelegate;
  13. import android.support.v7.widget.SwitchCompat;
  14. import android.view.View;
  15. import android.support.design.widget.NavigationView;
  16. import android.support.v4.view.GravityCompat;
  17. import android.support.v4.widget.DrawerLayout;
  18. import android.support.v7.app.ActionBarDrawerToggle;
  19. import android.support.v7.app.AppCompatActivity;
  20. import android.support.v7.widget.Toolbar;
  21. import android.view.Menu;
  22. import android.view.MenuItem;
  23. import android.widget.CompoundButton;
  24. import android.widget.Switch;
  25.  
  26. public class MainActivity extends AppCompatActivity
  27.         implements NavigationView.OnNavigationItemSelectedListener {
  28.  
  29.     Toolbar toolbar;
  30.     boolean exit = true;
  31.  
  32.     @Override
  33.     protected void onCreate(Bundle savedInstanceState) {
  34.          if(AppCompatDelegate.getDefaultNightMode()==AppCompatDelegate.MODE_NIGHT_YES) {
  35.             setTheme(R.style.DarkTheme);
  36.         }
  37.         else setTheme(R.style.LightTheme);
  38.  
  39.         super.onCreate(savedInstanceState);
  40.         setContentView(R.layout.activity_main);
  41.  
  42.         // Добавляем ToolBar
  43.  
  44.         toolbar = (Toolbar) findViewById(R.id.toolbar);
  45.         toolbar.setTitle("Домашняя страница");
  46.         setSupportActionBar(toolbar);
  47.  
  48.         DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  49.         ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
  50.                 this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  51.         drawer.addDrawerListener(toggle);
  52.         toggle.syncState();
  53.  
  54.         NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
  55.         navigationView.setNavigationItemSelectedListener(this);
  56.  
  57.         SwitchCompat themeswitch = findViewById(R.id.themeswitch);
  58.         if(AppCompatDelegate.getDefaultNightMode()==AppCompatDelegate.MODE_NIGHT_YES) {
  59.             themeswitch.setChecked(true);
  60.         }
  61.         themeswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  62.             @Override
  63.             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  64.                 if (isChecked) {
  65.                     AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
  66.                     restartApp();
  67.                 }
  68.                 else {
  69.                     AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
  70.                     restartApp();
  71.                 }
  72.             }
  73.         });
  74.     }
  75.  
  76.     // Исключаем повторное открытыие активити
  77.  
  78.     @Override
  79.     public void onBackPressed() {
  80.         if(exit){
  81.             moveTaskToBack(true);
  82.             super.onBackPressed();
  83.         } else {
  84.             Intent intent = new Intent(this, MainActivity.class);
  85.             startActivity(intent);
  86.  
  87.         }
  88.     }
  89.  
  90.     // Настраиваем действия бокового меню
  91.  
  92.     @SuppressWarnings("StatementWithEmptyBody")
  93.     @Override
  94.     public boolean onNavigationItemSelected(MenuItem item) {
  95.         // Handle navigation view item clicks here.
  96.  
  97.         Fragment fragment = null;
  98.  
  99.         int id = item.getItemId();
  100.  
  101.         if (id == R.id.homepage) {
  102.  
  103.             Intent intent = new Intent(this, MainActivity.class);
  104.             startActivity(intent);
  105.  
  106.         } else if (id == R.id.heroes) {
  107.  
  108.             fragment = new HeroesFragment();
  109.  
  110.         } else if (id == R.id.maps) {
  111.  
  112.             fragment = new MapsFragment();
  113.  
  114.         } else if (id == R.id.moreinfo) {
  115.  
  116.             fragment = new MoreInfoFragment();
  117.  
  118.         } else if (id == R.id.aboutapp) {
  119.  
  120.             fragment = new AboutAppFragment();
  121.         }
  122.  
  123.         if(fragment != null){
  124.             FragmentManager fragmentManager = getSupportFragmentManager();
  125.             fragmentManager.beginTransaction().replace(R.id.container, fragment).addToBackStack(null).commit();
  126.  
  127.             exit = false;
  128.         } else {
  129.             exit = true;}
  130.  
  131.         item.setChecked(true);
  132.         toolbar.setTitle(item.getTitle());
  133.  
  134.         DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  135.         drawer.closeDrawer(GravityCompat.START);
  136.         return true;
  137.     }
  138.     public void restartApp(){
  139.       Intent i = new Intent(getApplicationContext(),MainActivity.class);
  140.       startActivity(i);
  141.       finish();;
  142.     }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement