Google (NASDAQ:GOOG) is urging developers to abandon their reliance on the Android operating system's dedicated Menu button, instead migrating their applications to the ActionBar introduced in Android 3.0, a.k.a. Honeycomb.
Early iterations of Android leveraged the Menu button as a tool to display all options relevant to the user, but with Honeycomb, Google began steering Android away from a reliance on physical buttons, promoting the ActionBar class as the new standard solution to making user options immediately visible and quicker to invoke. In a post on the Android Developers Blog, developer.android.com lead tech writer Scott Main states developers should cease thinking about the Menu button in any context, building activities and user experiences that provide buttons for essential actions directly on the ActionBar or elsewhere on the device screen while relegating those that can't fit to the action overflow.
"This isn't a new concept--the action bar pattern has been around on Android even before Honeycomb--but as [Android 4.0] 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," Main explains. "You might worry that it's too much work to begin using the action bar, because you need to support versions of Android older than Honeycomb. However, it's quite simple for most apps because 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. 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"."
Main goes on to suggest developers further standardize the user experience by using action icons designed by the Android UX Team. Available icons support common user actions like Refresh, Delete, Attach, Star and Share, and are optimized for both the light and dark Holo themes.
In the event developers don't need the ActionBar, they can remove it from their entire app or individual activities. "This is appropriate for apps that never used the options menu or for apps in which the action bar doesn't meet design needs (such as games)," Main notes. "You can remove the action bar using a theme such as Theme.Holo.NoActionBar or Theme.DeviceDefault.NoActionBar."
- read this Android Developers Blog entry
Google unveils Android application design portal
Google mandates Holo theme on all Android 4.0 devices
Google opens up Android Ice Cream Sandwich source code
Google finally serves up Android Ice Cream Sandwich
Will Android Ice Cream Sandwich conquer fragmentation?