-
-
Save kennedy93/c424a2cdac6ea437e9ac009adf69d62c to your computer and use it in GitHub Desktop.
Same Navigation Drawer on different Activities
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class BaseActivity extends AppCompatActivity | |
| { | |
| public DrawerLayout drawerLayout; | |
| public ListView drawerList; | |
| private ActionBarDrawerToggle drawerToggle; | |
| protected void onCreate(Bundle savedInstanceState) | |
| { | |
| // R.id.drawer_layout should be in every activity with exactly the same id. | |
| drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); | |
| drawerToggle = new ActionBarDrawerToggle((Activity) this, drawerLayout, R.drawable.ic_drawer, 0, 0) | |
| { | |
| public void onDrawerClosed(View view) | |
| { | |
| getActionBar().setTitle(R.string.app_name); | |
| } | |
| public void onDrawerOpened(View drawerView) | |
| { | |
| getActionBar().setTitle(R.string.menu); | |
| } | |
| }; | |
| drawerLayout.setDrawerListener(drawerToggle); | |
| getActionBar().setDisplayHomeAsUpEnabled(true); | |
| getActionBar().setHomeButtonEnabled(true); | |
| drawerList = (ListView) findViewById(R.id.left_drawer); | |
| drawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1, | |
| items)); //Items is an ArrayList or array with the items you want to put in the Navigation Drawer. | |
| drawerList.setOnItemClickListener(new OnItemClickListener() { | |
| @Override | |
| public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { | |
| // Do what you want when an item from the Navigation Drawer is clicked | |
| } | |
| }); | |
| } | |
| @Override | |
| public boolean onOptionsItemSelected(MenuItem item) { | |
| if (drawerToggle.onOptionsItemSelected(item)) { | |
| return true; | |
| } | |
| return super.onOptionsItemSelected(item); | |
| } | |
| @Override | |
| protected void onPostCreate(Bundle savedInstanceState) { | |
| super.onPostCreate(savedInstanceState); | |
| drawerToggle.syncState(); | |
| } | |
| @Override | |
| public void onConfigurationChanged(Configuration newConfig) { | |
| super.onConfigurationChanged(newConfig); | |
| drawerToggle.onConfigurationChanged(newConfig); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment