content: package me.drakeet.androidviewhoverdemo;
  
  import android.support.v7.app.ActionBarActivity;
  import android.support.v7.app.ActionBar;
  import android.support.v4.app.FragmentManager;
  import android.os.Bundle;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.support.v4.widget.DrawerLayout;
  
  
  public class MainActivity extends ActionBarActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks {
  
      /**
       * Fragment managing the behaviors, interactions and presentation of the navigation drawer.
       */
      private NavigationDrawerFragment mNavigationDrawerFragment;
  
      /**
       * Used to store the last screen title. For use in {@link #restoreActionBar()}.
       */
      private CharSequence mTitle;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
          mTitle = getTitle();
  
          // Set up the drawer.
          mNavigationDrawerFragment.setUp(
                  R.id.navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout)
          );
      }
  
      @Override
      public void onNavigationDrawerItemSelected(int position) {
          // update the main content by replacing fragments
          switch (position) {
              case 0:
                  FragmentManager fragmentManager = getSupportFragmentManager();
                  fragmentManager.beginTransaction().replace(R.id.container, LayoutFragment.newInstance(position + 1)).commit();
                  break;
          }
      }
  
      public void onSectionAttached(int number) {
          switch (number) {
              case 1:
                  mTitle = getString(R.string.title_section1);
                  break;
              case 2:
                  mTitle = getString(R.string.title_section2);
                  break;
              case 3:
                  mTitle = getString(R.string.title_section3);
                  break;
          }
      }
  
      public void restoreActionBar() {
          ActionBar actionBar = getSupportActionBar();
          actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
          actionBar.setDisplayShowTitleEnabled(true);
          actionBar.setTitle(mTitle);
      }
  
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          if (!mNavigationDrawerFragment.isDrawerOpen()) {
              // Only show items in the action bar relevant to this screen
              // if the drawer is not showing. Otherwise, let the drawer
              // decide what to show in the action bar.
              getMenuInflater().inflate(R.menu.main, menu);
              restoreActionBar();
              return true;
          }
          return super.onCreateOptionsMenu(menu);
      }
  
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          // Handle action bar item clicks here. The action bar will
          // automatically handle clicks on the Home/Up button, so long
          // as you specify a parent activity in AndroidManifest.xml.
          int id = item.getItemId();
  
          //noinspection SimplifiableIfStatement
          if (id == R.id.action_overflow) {
              return false;
          }
  
          return super.onOptionsItemSelected(item);
      }
  }
  