瀏覽代碼

show filenames only if column size < 4

tobiasKaminsky 8 年之前
父節點
當前提交
44fde4c250

+ 11 - 1
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -48,6 +48,7 @@ import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
 import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
 import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
 import com.owncloud.android.ui.activity.ComponentsGetter;
+import com.owncloud.android.ui.fragment.OCFileListFragment;
 import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.FileStorageUtils;
 import com.owncloud.android.utils.MimeTypeUtil;
@@ -62,6 +63,7 @@ import java.util.Vector;
  */
 public class FileListListAdapter extends BaseAdapter implements FilterableListAdapter {
 
+    public static final int showFilenameColumnThreshold = 4;
     private Context mContext;
     private Vector<OCFile> mFilesAll = new Vector<OCFile>();
     private Vector<OCFile> mFiles = null;
@@ -71,16 +73,19 @@ public class FileListListAdapter extends BaseAdapter implements FilterableListAd
     private FileDataStorageManager mStorageManager;
     private Account mAccount;
     private ComponentsGetter mTransferServiceGetter;
+    private OCFileListFragment mListFragment;
 
     public FileListListAdapter(
             boolean justFolders,
             Context context,
-            ComponentsGetter transferServiceGetter
+            ComponentsGetter transferServiceGetter,
+            OCFileListFragment listFragment
     ) {
 
         mJustFolders = justFolders;
         mContext = context;
         mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);
+        mListFragment = listFragment;
 
         mTransferServiceGetter = transferServiceGetter;
 
@@ -202,9 +207,14 @@ public class FileListListAdapter extends BaseAdapter implements FilterableListAd
                 case GRID_ITEM:
                     // filename
                     fileName = (TextView) view.findViewById(R.id.Filename);
+
                     name = file.getFileName();
                     fileName.setText(name);
 
+                    if (mListFragment.getColumnSize() > showFilenameColumnThreshold && viewType == ViewType.GRID_ITEM){
+                        fileName.setVisibility(View.GONE);
+                    }
+
                 case GRID_IMAGE:
                     // sharedIcon
                     ImageView sharedIconV = (ImageView) view.findViewById(R.id.sharedIcon);

+ 7 - 1
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java

@@ -75,6 +75,8 @@ public class ExtendedListFragment extends Fragment
     private static final String KEY_EMPTY_LIST_MESSAGE = "EMPTY_LIST_MESSAGE";
     private static final String KEY_IS_GRID_VISIBLE = "IS_GRID_VISIBLE";
     private static final String GRID_COLUMNS = "gridColumns";
+    public static final float minColumnSize = 2.0f;
+    public static final float maxColumnSize = 10.0f;
 
     private ScaleGestureDetector SGD = null;
 
@@ -269,7 +271,7 @@ public class ExtendedListFragment extends Fragment
                 mScale = mGridView.getNumColumns();
             }
             mScale *= 1.f - (detector.getScaleFactor() - 1.f);
-            mScale = Math.max(2.0f, Math.min(mScale, 10.0f));
+            mScale = Math.max(minColumnSize, Math.min(mScale, maxColumnSize));
             Integer scaleInt = Math.round(mScale);
             mGridView.setNumColumns(scaleInt);
             mGridView.invalidateViews();
@@ -350,6 +352,10 @@ public class ExtendedListFragment extends Fragment
         }
     }
 
+    public int getColumnSize() {
+        return Math.round(mScale);
+    }
+
 
     /*
      * Restore index and position

+ 2 - 1
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -193,7 +193,8 @@ public class OCFileListFragment extends ExtendedListFragment {
         mAdapter = new FileListListAdapter(
                 mJustFolders,
                 getActivity(),
-                mContainerActivity
+                mContainerActivity,
+                this
         );
         setListAdapter(mAdapter);