瀏覽代碼

proper show hide during drawer open/close, also for filter-menu-item

Andy Scherzinger 8 年之前
父節點
當前提交
fdc7fdcbf9
共有 1 個文件被更改,包括 14 次插入3 次删除
  1. 14 3
      src/com/owncloud/android/ui/activity/FileDisplayActivity.java

+ 14 - 3
src/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -133,6 +133,8 @@ public class FileDisplayActivity extends HookActivity
 
     private OCFile mWaitingToSend;
 
+    private Collection<MenuItem> mDrawerMenuItemstoShowHideList;
+
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -518,9 +520,10 @@ public class FileDisplayActivity extends HookActivity
     @Override
     public boolean onPrepareOptionsMenu(Menu menu) {
         boolean drawerOpen = isDrawerOpen();
-        menu.findItem(R.id.action_sort).setVisible(!drawerOpen);
-        menu.findItem(R.id.action_sync_account).setVisible(!drawerOpen);
-        menu.findItem(R.id.action_switch_view).setVisible(!drawerOpen);
+
+        for (MenuItem menuItem:mDrawerMenuItemstoShowHideList) {
+            menuItem.setVisible(!drawerOpen);
+        }
 
         return super.onPrepareOptionsMenu(menu);
     }
@@ -530,6 +533,14 @@ public class FileDisplayActivity extends HookActivity
         MenuInflater inflater = getMenuInflater();
         inflater.inflate(R.menu.main_menu, menu);
         menu.findItem(R.id.action_create_dir).setVisible(false);
+
+        // populate list of menu items to show/hide when drawer is opened/closed
+        mDrawerMenuItemstoShowHideList = new ArrayList<>(4);
+        mDrawerMenuItemstoShowHideList.add(menu.findItem(R.id.action_sort));
+        mDrawerMenuItemstoShowHideList.add(menu.findItem(R.id.action_sync_account));
+        mDrawerMenuItemstoShowHideList.add(menu.findItem(R.id.action_switch_view));
+        mDrawerMenuItemstoShowHideList.add(menu.findItem(R.id.action_search));
+
         return true;
     }