From 7ade1be822ed05a143b059319dccd5e9f623b56d Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Thu, 17 Jun 2010 12:51:21 -0700 Subject: [PATCH] Action bar button layout changes. Theme attribute added for spacing between action buttons. Action buttons are now allowed to fill up to half of the total action bar's width. Change-Id: Iabbc67e695684529dfae9681d4d9580cd30839d0 --- api/current.xml | 11 ++++ core/java/android/view/ActionBarView.java | 13 +++-- .../internal/view/menu/ActionMenuView.java | 54 +++++++++++++++++-- core/res/res/values/attrs.xml | 7 +++ core/res/res/values/dimens.xml | 3 ++ core/res/res/values/public.xml | 1 + core/res/res/values/themes.xml | 3 ++ 7 files changed, 83 insertions(+), 9 deletions(-) diff --git a/api/current.xml b/api/current.xml index 966154ab6253d..851e9c29a06e3 100644 --- a/api/current.xml +++ b/api/current.xml @@ -2088,6 +2088,17 @@ visibility="public" > + + 0 ? itemSpace : 1); + } + + @Override + protected boolean checkLayoutParams(ViewGroup.LayoutParams p) { + if (p instanceof LayoutParams) { + LayoutParams lp = (LayoutParams) p; + return lp.leftMargin == mItemMargin && lp.rightMargin == mItemMargin && + lp.width == LayoutParams.WRAP_CONTENT && lp.height == LayoutParams.WRAP_CONTENT; + } + return false; + } + + @Override + protected LayoutParams generateDefaultLayoutParams() { + LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, + LayoutParams.WRAP_CONTENT); + params.leftMargin = mItemMargin; + params.rightMargin = mItemMargin; + return params; + } + + @Override + protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) { + return generateDefaultLayoutParams(); + } + + public int getItemMargin() { + return mItemMargin; } public boolean invokeItem(MenuItemImpl item) { @@ -49,7 +95,7 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo } public void initialize(MenuBuilder menu, int menuType) { - menu.setMaxActionItems(MAX_ACTION_ITEMS); + menu.setMaxActionItems(mMaxItems); mMenu = menu; updateChildren(true); } diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index d984575079840..3d31c2785d16e 100755 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -438,6 +438,13 @@ + + + + + + + diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 8a927576bed07..656471cc01d4e 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -25,6 +25,9 @@ 48dip + + 48dip 64dip 25dip diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index 3dba1a07c5a40..3d2db3919553e 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -1298,6 +1298,7 @@ + diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index 1f9f1367d2b41..76bba4b14d323 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -203,6 +203,9 @@ @android:color/search_widget_corpus_item_background + + + 12dip