From 34109d3a934f7c150acf6f225eac528e913021e7 Mon Sep 17 00:00:00 2001 From: seven332 Date: Mon, 14 Mar 2016 19:15:55 +0800 Subject: [PATCH] Calculate span count for previews --- .../java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java | 5 +++++ .../com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java | 5 ++++- app/src/main/res/values/dimens.xml | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java index 49287ed94..920f73f21 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java @@ -87,6 +87,7 @@ import com.hippo.util.ActivityHelper; import com.hippo.util.ApiHelper; import com.hippo.util.DrawableManager; import com.hippo.util.ExceptionUtils; +import com.hippo.util.LayoutUtils2; import com.hippo.util.ReadableTime; import com.hippo.view.ViewTransition; import com.hippo.widget.AutoWrapLayout; @@ -852,6 +853,10 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene mPreviewText.setText(R.string.more_previews); } + int minWidth = getResources().getDimensionPixelOffset(R.dimen.preview_grid_min_width); + int spanCount = LayoutUtils2.calculateSpanCount(getContext(), minWidth); + mGridLayout.setColumnCount(spanCount); + LayoutInflater inflater = getActivity().getLayoutInflater(); for (int i = 0, size = previewSet.size(); i < size; i++) { View view = inflater.inflate(R.layout.item_gallery_preview, mGridLayout, false); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java index f8ad7697f..44c506df3 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java @@ -49,6 +49,7 @@ import com.hippo.ehviewer.client.exception.EhException; import com.hippo.ehviewer.ui.GalleryActivity; import com.hippo.scene.SceneFragment; import com.hippo.scene.StageActivity; +import com.hippo.util.LayoutUtils2; import com.hippo.widget.ContentLayout; import com.hippo.widget.LoadImageView; import com.hippo.widget.Slider; @@ -125,7 +126,9 @@ public class GalleryPreviewsScene extends ToolbarScene implements EasyRecyclerVi mAdapter = new GalleryPreviewAdapter(); recyclerView.setAdapter(mAdapter); - recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 3)); // TODO hardcode + int minWidth = getResources().getDimensionPixelOffset(R.dimen.preview_grid_min_width); + int spanCount = LayoutUtils2.calculateSpanCount(getContext(), minWidth); + recyclerView.setLayoutManager(new GridLayoutManager(getContext(), spanCount)); int padding = LayoutUtils.dp2pix(getContext(), 4); recyclerView.setPadding(padding, padding, padding, padding); recyclerView.setClipToPadding(false); diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index b2b88fc05..78df4a5df 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -47,6 +47,7 @@ 320dp 120dp + 120dp 24dp