diff options
author | Adam Powell <adamp@google.com> | 2014-03-17 17:44:59 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2014-04-04 10:08:17 -0700 |
commit | fc35dfd513677ca01e8d4950ff9faa4ed19e65fe (patch) | |
tree | 0b211da7905d948031d5611c8ac9f50651c365ec | |
parent | 2d65aad4fb2c8eb0dac18250b1fe016af014ad9b (diff) | |
download | frameworks_base-fc35dfd513677ca01e8d4950ff9faa4ed19e65fe.zip frameworks_base-fc35dfd513677ca01e8d4950ff9faa4ed19e65fe.tar.gz frameworks_base-fc35dfd513677ca01e8d4950ff9faa4ed19e65fe.tar.bz2 |
Deprecate ActionBar navigation modes
Navigation modes were a great shortcut for patterns that are no longer
recommended or that don't integrate as nicely with application
content. Apps have done a great job both inventing new navigation
patterns that work well in their own contexts or following patterns
that can be implemented inline with an app's content. Navigation modes
as a prescriptive construct are no longer needed.
Be free, apps!
Change-Id: I9ae1c2efc830c7dcb6664061bba68b1748928ae3
-rw-r--r-- | api/current.txt | 48 | ||||
-rw-r--r-- | core/java/android/app/ActionBar.java | 120 |
2 files changed, 144 insertions, 24 deletions
diff --git a/api/current.txt b/api/current.txt index 852312b..73cf152 100644 --- a/api/current.txt +++ b/api/current.txt @@ -3017,30 +3017,30 @@ package android.app { public abstract class ActionBar { ctor public ActionBar(); method public abstract void addOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener); - method public abstract void addTab(android.app.ActionBar.Tab); - method public abstract void addTab(android.app.ActionBar.Tab, boolean); - method public abstract void addTab(android.app.ActionBar.Tab, int); - method public abstract void addTab(android.app.ActionBar.Tab, int, boolean); + method public abstract deprecated void addTab(android.app.ActionBar.Tab); + method public abstract deprecated void addTab(android.app.ActionBar.Tab, boolean); + method public abstract deprecated void addTab(android.app.ActionBar.Tab, int); + method public abstract deprecated void addTab(android.app.ActionBar.Tab, int, boolean); method public abstract android.view.View getCustomView(); method public abstract int getDisplayOptions(); method public abstract int getHeight(); - method public abstract int getNavigationItemCount(); - method public abstract int getNavigationMode(); - method public abstract int getSelectedNavigationIndex(); - method public abstract android.app.ActionBar.Tab getSelectedTab(); + method public abstract deprecated int getNavigationItemCount(); + method public abstract deprecated int getNavigationMode(); + method public abstract deprecated int getSelectedNavigationIndex(); + method public abstract deprecated android.app.ActionBar.Tab getSelectedTab(); method public abstract java.lang.CharSequence getSubtitle(); - method public abstract android.app.ActionBar.Tab getTabAt(int); - method public abstract int getTabCount(); + method public abstract deprecated android.app.ActionBar.Tab getTabAt(int); + method public abstract deprecated int getTabCount(); method public android.content.Context getThemedContext(); method public abstract java.lang.CharSequence getTitle(); method public abstract void hide(); method public abstract boolean isShowing(); - method public abstract android.app.ActionBar.Tab newTab(); - method public abstract void removeAllTabs(); + method public abstract deprecated android.app.ActionBar.Tab newTab(); + method public abstract deprecated void removeAllTabs(); method public abstract void removeOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener); - method public abstract void removeTab(android.app.ActionBar.Tab); - method public abstract void removeTabAt(int); - method public abstract void selectTab(android.app.ActionBar.Tab); + method public abstract deprecated void removeTab(android.app.ActionBar.Tab); + method public abstract deprecated void removeTabAt(int); + method public abstract deprecated void selectTab(android.app.ActionBar.Tab); method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable); method public abstract void setCustomView(android.view.View); method public abstract void setCustomView(android.view.View, android.app.ActionBar.LayoutParams); @@ -3059,11 +3059,11 @@ package android.app { method public void setHomeButtonEnabled(boolean); method public abstract void setIcon(int); method public abstract void setIcon(android.graphics.drawable.Drawable); - method public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar.OnNavigationListener); + method public abstract deprecated void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar.OnNavigationListener); method public abstract void setLogo(int); method public abstract void setLogo(android.graphics.drawable.Drawable); - method public abstract void setNavigationMode(int); - method public abstract void setSelectedNavigationItem(int); + method public abstract deprecated void setNavigationMode(int); + method public abstract deprecated void setSelectedNavigationItem(int); method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable); method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable); method public abstract void setSubtitle(java.lang.CharSequence); @@ -3076,9 +3076,9 @@ package android.app { field public static final int DISPLAY_SHOW_HOME = 2; // 0x2 field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8 field public static final int DISPLAY_USE_LOGO = 1; // 0x1 - field public static final int NAVIGATION_MODE_LIST = 1; // 0x1 - field public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0 - field public static final int NAVIGATION_MODE_TABS = 2; // 0x2 + field public static final deprecated int NAVIGATION_MODE_LIST = 1; // 0x1 + field public static final deprecated int NAVIGATION_MODE_STANDARD = 0; // 0x0 + field public static final deprecated int NAVIGATION_MODE_TABS = 2; // 0x2 } public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams { @@ -3095,11 +3095,11 @@ package android.app { method public abstract void onMenuVisibilityChanged(boolean); } - public static abstract interface ActionBar.OnNavigationListener { + public static abstract deprecated interface ActionBar.OnNavigationListener { method public abstract boolean onNavigationItemSelected(int, long); } - public static abstract class ActionBar.Tab { + public static abstract deprecated class ActionBar.Tab { ctor public ActionBar.Tab(); method public abstract java.lang.CharSequence getContentDescription(); method public abstract android.view.View getCustomView(); @@ -3121,7 +3121,7 @@ package android.app { field public static final int INVALID_POSITION = -1; // 0xffffffff } - public static abstract interface ActionBar.TabListener { + public static abstract deprecated interface ActionBar.TabListener { method public abstract void onTabReselected(android.app.ActionBar.Tab, android.app.FragmentTransaction); method public abstract void onTabSelected(android.app.ActionBar.Tab, android.app.FragmentTransaction); method public abstract void onTabUnselected(android.app.ActionBar.Tab, android.app.FragmentTransaction); diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java index fbe8987..29c1c56 100644 --- a/core/java/android/app/ActionBar.java +++ b/core/java/android/app/ActionBar.java @@ -73,6 +73,11 @@ public abstract class ActionBar { * and title text with an optional subtitle. Clicking any of these elements * will dispatch onOptionsItemSelected to the host Activity with * a MenuItem with item ID android.R.id.home. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public static final int NAVIGATION_MODE_STANDARD = 0; @@ -80,12 +85,22 @@ public abstract class ActionBar { * List navigation mode. Instead of static title text this mode * presents a list menu for navigation within the activity. * e.g. this might be presented to the user as a dropdown list. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public static final int NAVIGATION_MODE_LIST = 1; /** * Tab navigation mode. Instead of static title text this mode * presents a series of tabs for navigation within the activity. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public static final int NAVIGATION_MODE_TABS = 2; @@ -288,6 +303,11 @@ public abstract class ActionBar { * within the dropdown navigation menu. * @param callback An OnNavigationListener that will receive events when the user * selects a navigation item. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void setListNavigationCallbacks(SpinnerAdapter adapter, OnNavigationListener callback); @@ -296,6 +316,11 @@ public abstract class ActionBar { * Set the selected navigation item in list or tabbed navigation modes. * * @param position Position of the item to select. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void setSelectedNavigationItem(int position); @@ -303,6 +328,11 @@ public abstract class ActionBar { * Get the position of the selected navigation item in list or tabbed navigation modes. * * @return Position of the selected item. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract int getSelectedNavigationIndex(); @@ -310,6 +340,11 @@ public abstract class ActionBar { * Get the number of navigation items present in the current navigation mode. * * @return Number of navigation items. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract int getNavigationItemCount(); @@ -507,6 +542,11 @@ public abstract class ActionBar { * </ul> * * @return The current navigation mode. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ @NavigationMode public abstract int getNavigationMode(); @@ -518,6 +558,11 @@ public abstract class ActionBar { * @see #NAVIGATION_MODE_STANDARD * @see #NAVIGATION_MODE_LIST * @see #NAVIGATION_MODE_TABS + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void setNavigationMode(@NavigationMode int mode); @@ -539,6 +584,11 @@ public abstract class ActionBar { * @return A new Tab * * @see #addTab(Tab) + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract Tab newTab(); @@ -547,6 +597,11 @@ public abstract class ActionBar { * If this is the first tab to be added it will become the selected tab. * * @param tab Tab to add + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void addTab(Tab tab); @@ -555,6 +610,11 @@ public abstract class ActionBar { * * @param tab Tab to add * @param setSelected True if the added tab should become the selected tab. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void addTab(Tab tab, boolean setSelected); @@ -565,6 +625,11 @@ public abstract class ActionBar { * * @param tab The tab to add * @param position The new position of the tab + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void addTab(Tab tab, int position); @@ -575,6 +640,11 @@ public abstract class ActionBar { * @param tab The tab to add * @param position The new position of the tab * @param setSelected True if the added tab should become the selected tab. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void addTab(Tab tab, int position, boolean setSelected); @@ -583,6 +653,11 @@ public abstract class ActionBar { * and another tab will be selected if present. * * @param tab The tab to remove + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void removeTab(Tab tab); @@ -591,11 +666,21 @@ public abstract class ActionBar { * and another tab will be selected if present. * * @param position Position of the tab to remove + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void removeTabAt(int position); /** * Remove all tabs from the action bar and deselect the current tab. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void removeAllTabs(); @@ -605,6 +690,11 @@ public abstract class ActionBar { * <p>Note: If you want to select by index, use {@link #setSelectedNavigationItem(int)}.</p> * * @param tab Tab to select + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract void selectTab(Tab tab); @@ -613,6 +703,11 @@ public abstract class ActionBar { * one tab present. * * @return The currently selected tab or null + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract Tab getSelectedTab(); @@ -621,12 +716,22 @@ public abstract class ActionBar { * * @param index Index value in the range 0-get * @return + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract Tab getTabAt(int index); /** * Returns the number of tabs currently registered with the action bar. * @return Tab count + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public abstract int getTabCount(); @@ -801,6 +906,11 @@ public abstract class ActionBar { /** * Listener interface for ActionBar navigation events. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public interface OnNavigationListener { /** @@ -833,6 +943,11 @@ public abstract class ActionBar { * A tab in the action bar. * * <p>Tabs manage the hiding and showing of {@link Fragment}s. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public static abstract class Tab { /** @@ -984,6 +1099,11 @@ public abstract class ActionBar { /** * Callback interface invoked when a tab is focused, unfocused, added, or removed. + * + * @deprecated Action bar navigation modes are deprecated and not supported by inline + * toolbar action bars. Consider using other + * <a href="http://developer.android.com/design/patterns/navigation.html">common + * navigation patterns</a> instead. */ public interface TabListener { /** |