From 358c809d075844e1ca98cda01ad0c6f36fdf606f Mon Sep 17 00:00:00 2001 From: fkloft Date: Sun, 22 Sep 2013 21:27:38 +0200 Subject: [PATCH] Tweak navigation drawer - make list thinner - highlight current pane - show icons in menu --- mobile/res/layout/activity_main.xml | 3 +- mobile/res/layout/list_item_selectable.xml | 11 ++++++++ .../iitc_mobile/IITC_NavigationHelper.java | 28 ++++++++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 mobile/res/layout/list_item_selectable.xml diff --git a/mobile/res/layout/activity_main.xml b/mobile/res/layout/activity_main.xml index 9adcdcae..532a4f7d 100644 --- a/mobile/res/layout/activity_main.xml +++ b/mobile/res/layout/activity_main.xml @@ -18,11 +18,10 @@ android:src="@drawable/iitc"/> - + diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java b/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java index 2bb950cf..28b19977 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_NavigationHelper.java @@ -50,7 +50,7 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnNa private class NavigationAdapter extends ArrayAdapter { public NavigationAdapter() { - super(mIitc, android.R.layout.simple_list_item_1); + super(mIitc, R.layout.list_item_selectable); add(Pane.MAP); add(Pane.INFO); @@ -71,6 +71,27 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnNa view.setText("Map"); else view.setText(getPaneTitle(item)); + + int icon = 0; + switch (item) + { + case MAP: + icon = R.drawable.location_map; + break; + case INFO: + icon = R.drawable.action_about; + break; + case FULL: + case COMPACT: + case PUBLIC: + case FACTION: + icon = R.drawable.social_group; + break; + } + + if (icon != 0) + view.setCompoundDrawablesWithIntrinsicBounds(icon, 0, 0, 0); + return view; } } @@ -111,6 +132,7 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnNa mNavigationAdapter = new NavigationAdapter(); mDrawerList.setAdapter(mNavigationAdapter); mDrawerList.setOnItemClickListener(this); + mDrawerList.setItemChecked(0, true); mDrawerLayout.setDrawerListener(this); onPrefChanged(); // also calls updateActionBar() @@ -119,6 +141,10 @@ public class IITC_NavigationHelper extends ActionBarDrawerToggle implements OnNa private void updateActionBar() { boolean showHighlighter = true; + int position = mNavigationAdapter.getPosition(mPane); + if (position >= 0 && position < mNavigationAdapter.getCount()) + mDrawerList.setItemChecked(position, true); + if (mDesktopMode) { mActionBar.setDisplayHomeAsUpEnabled(false); // Hide "up" indicator mActionBar.setHomeButtonEnabled(false); // Make icon unclickable