Calculate span count for previews

This commit is contained in:
seven332 committed 2016-03-14 19:15:55 +08:00
1 parent 160601d333
commit 34109d3a93
3 files changed
+10 -1

No files matched your search

@@ -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);
@@ -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);