The Action configuration behavior seems different between an iPhone and Android device.
On an iOS device, the action items or buttons are permanently visible on a toolbar. On the Android the user has to select menu on their device first to make these action items visible in a list. The list will popup.
Is there are way to make these action items always visible on the Android, just like on the iPhone? Our customer base will for sure not know to press that button in order to see more options for our app.
On the Android the user has to select menu on their device first to make these action items visible in a list
It depends on the phone. This behavior is right only for the phones that have a menu button (like the Samsung ones). For the phones without a menu bouton (like the nexus 5 for example), menu can be visible after clicking on the "3 points" in the action bar (the number 3 is the following photo) :
Is there are way to make these action items always visible on the Android, just like on the iPhone?
Yes ! If you see the number 2 into the previous photo, you can see that 2 icons are always visible (the glass and the google play store icon). These 2 icons are 2 menu items but setting as "show always".
More information can be found here.
Related
My Android app (Api level 12, Android 3.1) has an activity with many menu items. Some items are on the action bar (showAsAction="always") while other ones are normal menu items (showAsAction="never") including a submenu: normal menu items have never to be displayed on the action bar, yet they are more than 6 in number so the "more" button also appears when I tap the menu button.
I tested the app on various virtual devices in the emulator and I see that the menu is correctly displayed on all devices except the smartphone (Android 3.1) where I get the action bar items and, if I tap the menu button, some of the normal items displayed along with the "more" button; but when I tap the "more" button nothing happens and the further menu items are not displayed.
Is this an issue of the emulator or my app will behave similarly on real smartphone devices?
Use this instead,
android:showAsAction="ifRoom|withText"
android:orderInCategory="1"
Lower the orderInCategory value, the first the menu item will be displayed.
I'm building an android game that doesn't have an action bar. Even though I don't have an action bar, I still want the three vertical dots placed somewhere within my app. I'm not sure if I have to create my own image file that contains the dots, or if there's some way to move the dots in the layout manager in eclipse. Then when these dots are selected I want it to do the vertical drop down menu option like it does in the action bar.
Also I want the dots to disappear in android phones running under android 4.0, so that they can just use the normal menu button. Is this possible? It would be even better if I could get the three dots to trigger the menu in phones below 4.0 but I don't think that's possible so I'd rather just hide it entirely.
Thanks.
I'm not sure if I have to create my own image file that contains the dots
The standard overflow icon should be in your SDK.
or if there's some way to move the dots in the layout manager in eclipse
No.
Then when these dots are selected I want it to do the vertical drop down menu option like it does in the action bar.
You are welcome to implement your own PopupMenu for displaying a menu.
Also I want the dots to disappear in android phones running under android 4.0, so that they can just use the normal menu button
You are welcome to call setVisibility() on whatever you are using for your image whenever the mood strikes you. You will also need to arrange to display your own menu for MENU button presses.
IOW, you will need to roll your own menu system: displaying your trigger, displaying the menu based on the trigger, and doing something on menu choice selections. You are welcome to crib bits of this from the AppCompat action bar in the Android Support package, or perhaps ActionBarSherlock, if you wish.
It would be even better if I could get the three dots to trigger the menu in phones below 4.0
Since you are writing it all yourself, you are welcome to have it do whatever you want.
My app has an extended menu and has been working on all legit devices from Android 2.1 up thru 4.1. For R11+, to save screen space, I do not display the Action Bar on "normal" screens, but do on "large" and "xlarge". With the Action Bar present, the menu icon is on the Action Bar in the upper right corner; on normal-size screens, without hardkeys, it is at the lower right in the bar with the Home and Back buttons. This is functioning as expected on the latest phones and tablets.
Now I've had two customers with some sort of direct-from-China-on-eBay 7" tablet running Android 4.0.4 who are not seeing either the Action Bar or the menu icon in the Home/Back bar. I see two malfunctions here: first, that it must be reporting its screen as "normal" since it's using the "NoActionBar" theme; and secondly that it's not then showing the menu icon in the bottom bar. The users state that this device has access to Google Play, so I assume it's an approved device.
Has anyone run into anything like this? The only solution I can see -- since I don't want to activate the Action Bar on everyone's smartphone -- is to add a settings option to display the Action Bar. Any other ideas?
i need to have the menu button shown for some activities on galaxy nexus .
i can't find how to do that, since it hides it by default . i don't wish to create an action bar since it takes more space that i want to use to other things .
when setting the "android:targetSdkVersion" value to lower than 14 , it seems to show the menu button , but otherwise, it hides it .
btw, the activity needs to be full screen , with no title/action bars .
it is very weird that this button is not shown by default for so many places (even the launcher) , and on some places it does exist . such a button is a very basic one for so many android devices . google decided that not only that , but instead , the switching button is more important to be shown and it's shown by default (no idea if it's possible to hide it, but i guess not , since home button no longer does anything when long pressed) .
anyway, please help me . i'm quite new on android 4 .
The Menu button has been deprecated in ICS. Your options are 1) run in legacy mode (targetSdkVersion < 14), 2) use an action bar with or without an overflow menu button, 3) add a menu button somewhere in your app area. 4) not using a menu and just adding its actions directly to your app area.
The menu button is more of a legacy thing on newer Android phones with bigger screens since it's normally best to use the Action Bar (1) to provide the user with the actions that would normally be on the menu. These are called "Action Items" and are a better user experience because they appear directly on the Action Bar rather than requiring the user to tap the menu button.
(1) http://developer.android.com/guide/topics/ui/actionbar.html
targetSdkVersion no longer influence the visibility of the legacy overflow menu button on newer devices and OS, it's dead and buried.
I'm On Honeycomb (3.1) and my first problem is that I don't know what is the name of the bar at the bottom of the OS (appears in every application). I've seen some apps add options to this bottom bar (it has by default the back button the home button and the show active programs button, besides the watch, battery indicator and signal connection strength). When a certain program uses options it sometimes adds them to this bottom bar (it is usually seen as a grid-like icon next to the show active programs buttons, which you can click and a menu pops up.
I've described it as best as I can, but My question is simple: how can I create a menu like this on in my app?
Thanks for any help!
EDIT:
Ok, I've just read it's a compatibility feature. And it's not supposed to be there in an Android App.
I feel stupid...
I'm On Honeycomb (3.1) and my first problem is that I don't know what is the name of the bar at the bottom of the OS (appears in every application).
That is the "system bar".
I've seen some apps add options to this bottom bar
This happens automatically for applications that set up an options menu using onCreateOptionsMenu(). However, once the application switches to the Honeycomb look-and-feel (e.g., via android:targetSdkVersion="11"), the options menu moves to the action bar.
how can I create a menu like this on in my app?
Long-term, you do not want to do this, because it means that you will not have the action bar and will not look like you belong on Honeycomb, Ice Cream Sandwich, etc.
Short-term, simply do not have android:targetSdkVersion="11", and implement an options menu as normal.