diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-11-06 00:13:30 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-11-06 00:13:30 +0300 |
commit | 7e9a9c3086e98d98655ad38c84efff010d247e2f (patch) | |
tree | 514af146ca7b6226b4af0c90b756a3c8a7034b51 /app/src/main/java/it/niedermann/nextcloud/deck | |
parent | ee8171ceb74b85f07c6ee0092b5d566102b8a5a7 (diff) |
Display some gutter between gallery items
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck')
2 files changed, 37 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java index 24b94ebde..007b25b36 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java @@ -55,6 +55,7 @@ import it.niedermann.nextcloud.deck.ui.card.attachments.picker.ContactAdapter; import it.niedermann.nextcloud.deck.ui.card.attachments.picker.FileAdapter; import it.niedermann.nextcloud.deck.ui.card.attachments.picker.FileAdapterLegacy; import it.niedermann.nextcloud.deck.ui.card.attachments.picker.GalleryAdapter; +import it.niedermann.nextcloud.deck.ui.card.attachments.picker.GalleryItemDecoration; import it.niedermann.nextcloud.deck.ui.card.attachments.previewdialog.PreviewDialog; import it.niedermann.nextcloud.deck.ui.card.attachments.previewdialog.PreviewDialogViewModel; import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment; @@ -90,6 +91,8 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme private PreviewDialogViewModel previewViewModel; private BottomSheetBehavior<LinearLayout> mBottomSheetBehaviour; + private RecyclerView.ItemDecoration galleryItemDecoration; + private static final int REQUEST_CODE_PICK_FILE = 1; private static final int REQUEST_CODE_PICK_FILE_PERMISSION = 2; private static final int REQUEST_CODE_PICK_CAMERA = 3; @@ -156,7 +159,7 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme this.binding.attachmentsList.setVisibility(VISIBLE); } }); - + galleryItemDecoration = new GalleryItemDecoration(DimensionUtil.INSTANCE.dpToPx(requireContext(), R.dimen.spacer_1qx)); mBottomSheetBehaviour = BottomSheetBehavior.from(binding.bottomSheetParent); mBottomSheetBehaviour.setDraggable(true); mBottomSheetBehaviour.setHideable(true); @@ -306,6 +309,8 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme } }); }, this::openNativeCameraPicker, getViewLifecycleOwner()); + binding.pickerRecyclerView.removeItemDecoration(galleryItemDecoration); + binding.pickerRecyclerView.addItemDecoration(galleryItemDecoration); binding.pickerRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), 3)); binding.pickerRecyclerView.setAdapter(pickerAdapter); } @@ -327,6 +332,7 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme } }); }, this::openNativeContactPicker); + binding.pickerRecyclerView.removeItemDecoration(galleryItemDecoration); binding.pickerRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); binding.pickerRecyclerView.setAdapter(pickerAdapter); } @@ -354,6 +360,7 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme }); }, this::openNativeFilePicker); // } + binding.pickerRecyclerView.removeItemDecoration(galleryItemDecoration); binding.pickerRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); binding.pickerRecyclerView.setAdapter(pickerAdapter); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryItemDecoration.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryItemDecoration.java new file mode 100644 index 000000000..c70dc8277 --- /dev/null +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/GalleryItemDecoration.java @@ -0,0 +1,29 @@ +package it.niedermann.nextcloud.deck.ui.card.attachments.picker; + +import android.graphics.Rect; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Px; +import androidx.recyclerview.widget.RecyclerView; + +public class GalleryItemDecoration extends RecyclerView.ItemDecoration { + + @Px + private final int gutter; + + public GalleryItemDecoration(@Px int gutter) { + this.gutter = gutter; + } + + @Override + public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { + final int position = parent.getChildAdapterPosition(view); + if (position >= 0) { + outRect.left = gutter; + outRect.top = gutter; + outRect.right = gutter; + outRect.bottom = gutter; + } + } +} |