Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2893)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGridLayout.java

Issue 2714723002: Add feature for condensed NTP tiles. (Closed)
Patch Set: Cleanups. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGridLayout.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGridLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGridLayout.java
index 31d13d5b298e06538bc5d185f1d4f21bd46275aa..45341c4d12e592cb79945d6aa5753f1012597780 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGridLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGridLayout.java
@@ -19,16 +19,18 @@ import org.chromium.chrome.browser.util.MathUtils;
* A layout that arranges tiles in a grid.
*/
public class TileGridLayout extends FrameLayout {
- private static final int MAX_COLUMNS = 4;
+ private final int mVerticalSpacing;
+ private final int mMinHorizontalSpacing;
+ private final int mMaxHorizontalSpacing;
+ private final int mMaxWidth;
- private int mVerticalSpacing;
- private int mExtraVerticalSpacing;
- private int mMinHorizontalSpacing;
- private int mMaxHorizontalSpacing;
- private int mMaxWidth;
private int mMaxRows;
+ private int mMaxColumns;
+ private int mExtraVerticalSpacing;
/**
+ * Constructor for inflating from XML.
+ *
* @param context The view context in which this item will be shown.
* @param attrs The attributes of the XML tag that is inflating the view.
*/
@@ -45,14 +47,20 @@ public class TileGridLayout extends FrameLayout {
}
/**
- * Sets the maximum number of rows to display. Any items that don't fit within these rows will
- * be hidden.
+ * Sets the maximum number of rows to display. Any items that don't fit will be hidden.
*/
public void setMaxRows(int rows) {
mMaxRows = rows;
}
/**
+ * Sets the maximum number of columns to display. Any items that don't fit will be hidden.
+ */
+ public void setMaxColumns(int columns) {
+ mMaxColumns = columns;
+ }
+
+ /**
* Sets the extra vertical spacing that must be used. It will be distributed evenly above each
* row.
*/
@@ -105,7 +113,7 @@ public class TileGridLayout extends FrameLayout {
int childWidth = getChildAt(0).getMeasuredWidth();
int numColumns = MathUtils.clamp(
(gridWidth + mMinHorizontalSpacing) / (childWidth + mMinHorizontalSpacing), 1,
- MAX_COLUMNS);
+ mMaxColumns);
// Ensure column spacing isn't greater than mMaxHorizontalSpacing.
int gridWidthMinusColumns = Math.max(0, gridWidth - numColumns * childWidth);

Powered by Google App Engine
This is Rietveld 408576698