From f104b694431ece03ecf14090e9e77f90bf4a38c2 Mon Sep 17 00:00:00 2001 From: Martyn Haigh Date: Fri, 17 Oct 2014 08:54:37 +0100 Subject: [PATCH] Bug 1076898 - Initial pass at Gridview visuals Initial pass at Gridview visuals (r=lucasr) --- .../drawable-hdpi/new_tablet_tab_close.png | Bin 0 -> 341 bytes .../layout/new_tablet_tabs_item_cell.xml | 59 ++++++++++++++++++ .../base/resources/values-land/dimens.xml | 1 + .../android/base/resources/values/dimens.xml | 5 ++ mobile/android/base/tabs/TabsGridLayout.java | 17 ++++- .../android/base/tabs/TabsLayoutAdapter.java | 6 +- mobile/android/base/tabs/TabsListLayout.java | 2 +- 7 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 mobile/android/base/resources/drawable-hdpi/new_tablet_tab_close.png create mode 100644 mobile/android/base/resources/layout/new_tablet_tabs_item_cell.xml diff --git a/mobile/android/base/resources/drawable-hdpi/new_tablet_tab_close.png b/mobile/android/base/resources/drawable-hdpi/new_tablet_tab_close.png new file mode 100644 index 0000000000000000000000000000000000000000..f6135d6d53f470e82ed0621887d3d77817e10704 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|wj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwQi&wyaXWE-{+CZU4o-U3d7N?h9G3+~JAkg}-eoaT4 zbB-&cs_6E_tp`#yb}$BISa4@*JQS*C7U(~wAS{!9qjcuXnr|ok-7a}tinGIhl7kXWNpyr@v00pfcg;g<0$$TedOnv*l=*8LOIWoE*nw@KHgNEhk#s;F&ys fv})$hiW~3Rc5JU=esduV=vxL)S3j3^P6 + + + + + + + + + + + + + + + + + + + diff --git a/mobile/android/base/resources/values-land/dimens.xml b/mobile/android/base/resources/values-land/dimens.xml index 48f58edc437..5d0d26192d6 100644 --- a/mobile/android/base/resources/values-land/dimens.xml +++ b/mobile/android/base/resources/values-land/dimens.xml @@ -8,4 +8,5 @@ 16dp + 48dp diff --git a/mobile/android/base/resources/values/dimens.xml b/mobile/android/base/resources/values/dimens.xml index c0ab4f1030a..985d23dfbd8 100644 --- a/mobile/android/base/resources/values/dimens.xml +++ b/mobile/android/base/resources/values/dimens.xml @@ -118,6 +118,11 @@ 32dp 50dp + + 180dp + 180dp + 24dp + 32dp diff --git a/mobile/android/base/tabs/TabsGridLayout.java b/mobile/android/base/tabs/TabsGridLayout.java index d93b09bcb68..37835c065cc 100644 --- a/mobile/android/base/tabs/TabsGridLayout.java +++ b/mobile/android/base/tabs/TabsGridLayout.java @@ -16,8 +16,11 @@ import org.mozilla.gecko.tabs.TabsPanel.TabsLayout; import org.mozilla.gecko.Tabs; import android.content.Context; +import android.content.res.Resources; import android.content.res.TypedArray; import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.Gravity; import android.view.View; import android.widget.GridView; import android.view.ViewGroup; @@ -58,6 +61,18 @@ class TabsGridLayout extends GridView item.setThumbnail(null); } }); + + setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); + setStretchMode(GridView.STRETCH_SPACING); + setGravity(Gravity.CENTER); + setNumColumns(GridView.AUTO_FIT); + + final Resources resources = getResources(); + final int columnWidth = resources.getDimensionPixelSize(R.dimen.new_tablet_tab_thumbnail_width); + setColumnWidth(columnWidth); + + final int padding = resources.getDimensionPixelSize(R.dimen.new_tablet_tab_panel_grid_padding); + setPadding(padding, 0, padding, 0); } private class TabsGridLayoutAdapter extends TabsLayoutAdapter { @@ -66,7 +81,7 @@ class TabsGridLayout extends GridView final private View.OnClickListener mSelectClickListener; public TabsGridLayoutAdapter (Context context) { - super(context); + super(context, R.layout.new_tablet_tabs_item_cell); mCloseClickListener = new Button.OnClickListener() { @Override diff --git a/mobile/android/base/tabs/TabsLayoutAdapter.java b/mobile/android/base/tabs/TabsLayoutAdapter.java index 8e21e8e67e6..549e937e3a5 100644 --- a/mobile/android/base/tabs/TabsLayoutAdapter.java +++ b/mobile/android/base/tabs/TabsLayoutAdapter.java @@ -21,12 +21,14 @@ public class TabsLayoutAdapter extends BaseAdapter { public static final String LOGTAG = "Gecko" + TabsLayoutAdapter.class.getSimpleName(); private final Context mContext; + private final int mTabLayoutId; private ArrayList mTabs; private final LayoutInflater mInflater; - public TabsLayoutAdapter (Context context) { + public TabsLayoutAdapter (Context context, int tabLayoutId) { mContext = context; mInflater = LayoutInflater.from(mContext); + mTabLayoutId = tabLayoutId; } final void setTabs (ArrayList tabs) { @@ -83,7 +85,7 @@ public class TabsLayoutAdapter extends BaseAdapter { } TabsLayoutItemView newView(int position, ViewGroup parent) { - return (TabsLayoutItemView) mInflater.inflate(R.layout.tabs_layout_item_view, parent, false); + return (TabsLayoutItemView) mInflater.inflate(mTabLayoutId, parent, false); } void bindView(TabsLayoutItemView view, Tab tab) { diff --git a/mobile/android/base/tabs/TabsListLayout.java b/mobile/android/base/tabs/TabsListLayout.java index 894e530378e..326b6c41eb9 100644 --- a/mobile/android/base/tabs/TabsListLayout.java +++ b/mobile/android/base/tabs/TabsListLayout.java @@ -89,7 +89,7 @@ class TabsListLayout extends TwoWayView private class TabsListLayoutAdapter extends TabsLayoutAdapter { private final Button.OnClickListener mCloseOnClickListener; public TabsListLayoutAdapter (Context context) { - super(context); + super(context, R.layout.tabs_layout_item_view); mCloseOnClickListener = new Button.OnClickListener() { @Override