From 59605c39fe5199eba6b7a5fc3f8a50314406c713 Mon Sep 17 00:00:00 2001 From: Simon Flowers Date: Fri, 24 Apr 2015 14:23:23 +1200 Subject: [PATCH] Recalculating column lefts if mColumnWidth has changed (fixes a bug in landscape, non-fullscreen Kindle devices where the width is first calculated without accounting for the options bar along the side, then recalculated with it) --- .../src/main/java/com/etsy/android/grid/StaggeredGridView.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/etsy/android/grid/StaggeredGridView.java b/library/src/main/java/com/etsy/android/grid/StaggeredGridView.java index 3e97811..ab77a13 100644 --- a/library/src/main/java/com/etsy/android/grid/StaggeredGridView.java +++ b/library/src/main/java/com/etsy/android/grid/StaggeredGridView.java @@ -259,6 +259,7 @@ protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec // minus it's padding // minus the total items margin // divided by the number of columns + int previousColumnWidth = mColumnWidth; mColumnWidth = calculateColumnWidth(getMeasuredWidth()); if (mColumnTops == null || mColumnTops.length != mColumnCount) { @@ -269,7 +270,7 @@ protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec mColumnBottoms = new int[mColumnCount]; initColumnBottoms(); } - if (mColumnLefts == null || mColumnLefts.length != mColumnCount) { + if (mColumnWidth != previousColumnWidth || mColumnLefts == null || mColumnLefts.length != mColumnCount) { mColumnLefts = new int[mColumnCount]; initColumnLefts(); }