Google is now recommending that Android app developers stop using the Menu button for their apps, instead, start using the Action Bar introduced in Honeycomb, and incorporated in Ice Cream Sandwich.
Google is now recommending that Android app developers stop using the Menu button for their apps, instead, start using the Action Bar introduced in Honeycomb, and incorporated in Ice Cream Sandwich. A new section of the Android Design style guide has also been made, with recommendations on how developers should design their Action Bars.
The move is another step away from hardware buttons, a trend seen in Honeycomb tablets, and Ice Cream Sandwich devices, which like the Galaxy Nexus, only feature Back, Home, and Recent Apps buttons – doing away with Menu, and Search buttons.
The change in design philosophy was announced on the developer.android.com blog, with Scott Main, Lead Tech Writer, explaining that developers should move away from using to the menu button, toward the more intuitive and consistent action bar. “This isn’t a new concept — the action bar pattern has been around on Android even before Honeycomb — but as Ice Cream Sandwich rolls out to more devices, it’s important that you begin to migrate your designs to the action bar in order to promote a consistent Android user experience.”
If as a developer, you felt this meant you would have to program to different versions, one for pre-Honeycomb devices with a hardware menu button, and another for Honeycomb and higher versions, you can be reassured that this is not the case – “You can continue to support the Menu button on pre-Honeycomb devices, but also provide the action bar on newer devices with only a few lines of code changes.”
Emphasizing the ease of the migration, Scott Main summarized – “If I had to put this whole post into one sentence, it’d be: Set targetSdkVersion to 14 and, if you use the options menu, surface a few actions in the action bar with showAsAction="ifRoom".”
Elaborating on the design template, he added: "Not only should your apps stop relying on the hardware Menu button, but you should stop thinking about your activities using a 'menu button' at all. Your activities should provide buttons for important user actions directly in the action bar (or elsewhere on screen). Those that can't fit in the action bar end up in the action overflow."
The action overflow can be seen in the below screenshot, as the three-dotted colon. It appears in the system/navigation bar, and represents the action overflow for legacy apps, which reveals actions and user options that have “overflowed off the screen.” This is a compatibility behavior for legacy apps designed to ensure that apps built to expect a Menu button remain functional.
As some apps would not require the use of a Menu button or Action Bar in the first place, such as games, developers will also be able to ensure no Action Overflow button is displayed.
Further ensuring a consistent user experience for the action bar, the Android UX Team has designed common action icons to use, such as Refresh, Delete, Attach, Star, Share and more (seen below).
For more information, refer to the “Say Goodbye to the Menu Button” post, or refer to the Android Design’s Action Bar style guide, for information about how you should design your action bar. An Action Bar developer guide is also available.