With some divice android has got 3 button: Home,Menu and Back at the bottom.
But some divice android phone hasn't got 3 button: Home,Menu and Back.
How show 3 button Home,Menu and Back at bottom of screen as Action Bar?
AS:
This is not an action bar. This is the navigation bar, available on some phones. Specifically, it will be on phones that are running Android 4.0 or higher and do not have off-screen affordances for these keys.
How show 3 button Home,Menu and Back at bottom of screen
This is handled at the firmware level. The device manufacturer will set up the firmware to display the navigation bar where needed. You cannot add a navigation bar for devices that do not need one via the Android SDK.
Related
From the article "Say Goodbye to the Menu Button "
it seems now the menu button is going to the action bar.
"If you’ve already developed an app to support Android 2.3 and lower,
then you might have noticed that when it runs on a device without a
hardware Menu button (such as a Honeycomb tablet or Galaxy Nexus), the
system adds the action overflow button beside the system navigation. "
But since I do not want the action bar takes the space, and I only need one menu button there, I hope I had a menu button within the navigation bar at the bottom.
How to do that?
[Update] From one aplication's code, it seems if I set the target level is lower, and use the add menu function, the menu button can be put with the navigation bar at the bottom. But anyway, as Samus Arin said, if there is only button for the menu, it doesn't make sense to build a action bar.
You can develop for newer releases, and then detect if there is a menu-button on the device. If there is not, show your own in the UI.
http://developer.android.com/reference/android/view/ViewConfiguration.html#hasPermanentMenuKey()
Ex.
if(ViewConfiguration.hasPermanentMenuKey(context)){ Has menu-button } else { Does not have menu-button, show in UI }
As you said, if you want the overflow-button in the navigation-bar you have to set the target-sdk to 13 or lower.
IMO this option should be given to the developer regardless of targetsdk.
UPDATE: hasPermanentMenuKey() can only be used in SDK>13, so you have to check this manually in your code.
i want to hide everything in Navigation bar except back button (rooted tablet) , i used to hide the Navigation bar completely (to restrict users access other applications and device settings) but the customers didn't like it because when users open PDF files or videos they forced to use physical back button to back to my application, so the only way is to customize the Navigation bar to show back button only , any suggestions?
EDIT : its possible to create my own Navigation bar like full!screen?
Sounds like you want to do a kiosk tablet. A lightly customized rom with a navigation bar having only the back button might be what you want to do..
I have an application which runs full-screen and relies on the menu button. What I didn't realise is that devices like the Galaxy Tab use an actionbar which no longer has a menu button. My app currently loads a fragment displaying a settings menu when one touches the menu button:
#Override
public boolean onPrepareOptionsMenu(Menu menu) {
FragmentManager lFM = getSupportFragmentManager();
SettingsDialogFragment lSettingsDialog = new SettingsDialogFragment();
lSettingsDialog.show(lFM, "Settings");
return false;
}
I understand it is possible to add a custom icon to the action bar which when pressed could result in the same behaviour as a menu button. What I am unsure about is how to implement this.
How do I know that a device doesn't have a menu button and I need to add an icon to the action bar? It can't be as easy as checking the SDK version as apparently the actionbar was introduced in honeycomb, but my Galaxy Note runs ice cream sandwich and doesn't have an action bar (it still has a menu button). I don't want to give up any real-estate so adding buttons or menu options to my main layout isn't an option.
I just read on google developer that:
Navigation Bar New for phones in Android 4.0, the navigation bar is
present only on devices that don't have the traditional hardware keys.
It houses the device navigation controls Back, Home, and Recents, and
also displays a menu for apps written for Android 2.3 or earlier.
So I tried setting the target version on my app to 8. Instead of a menu I get a button allowing me to change the screen size of my app - but no menu button.
I have an application which runs full-screen and relies on the menu button.
That has been a bad idea for two years.
What I didn't realise is that devices like the Galaxy Tab use an actionbar which no longer has a menu button.
Such devices have been around for two years.
My app currently loads a fragment displaying a settings menu when one touches the menu button
That was never an appropriate design move. Please allow the MENU button, where it exists, to behave normally, displaying an options menu on Android 1.x/2.x and triggering the action bar overflow on Android 3.0+.
How do I know that a device doesn't have a menu button
http://developer.android.com/reference/android/view/ViewConfiguration.html#hasPermanentMenuKey()
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'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.