How can I disable options menu item from my action bar?
I made my own custom bar, for display *.png logo, but i don't want to display three dots button of options menu.
I've tried to find some solution, but nothing works.
Code Monkey's answer will do what you want, but as a side effect it will also not allow you to add ANY action items to the Action Bar at all. I believe the correct answer is
#Override
public boolean onPrepareOptionsMenu (Menu menu) {
return false;
}
This is what you want.
Simply remove the public boolean onCreateOptionsMenu(Menu menu) method from your Activity.
In the java class containing the code for the app you are developing, all you need to do is remove the following method:
#Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.main, menu);
}
This is automatically generated in your project by default. That's why you need to remove it.
Hope this helps :)
If you want this, not necessary Override onCreateOptionsMenu method in your activity.
Leave it with empty block.
Related
I faced with the following problem:
I use BottomNavigationView in my program. I added elements to it by creating a menu and then added it. But now this menu is also shown on the screen (there are 3 dots on ActionBar (unfortunately I don't know how they are called)).
But there's no need in this menu. How can I remove it from ActionBar?
If you don't want this menu just delete from your code the onCreateOptionsMenu() method.
What you need to do is clear the menu before inflating the new menu XML.
Like this:
#Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
inflater.inflate(R.menu.your_menu, menu);
}
How can I add Menu option in Blank Activity? I've watched lots of videos to add menu option, they keep on showing menu folder in res, while I don't see menu folder in my project. How can I add menu option?
After creating menu layout, You need to inflate your menu in the blank activity as well something like this
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my_menu, menu);
return true;
}
replace my_menu xml file with your ones
I have a fullscreen Activity launched by this way:
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.preview);
I want to display a menu on the bottom of the screen, by this way:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return true;
}
with the uiOptions (AndroidManifest) splitActionBarWhenNarrow.
But nothing appears, what is the problem? Thanks
This behavior is because the "hardware" menu button is being phased out in favor of the ActionBar, see this Android Developers blog posting for more information.
Additional information on the ActionBar can be found at:
http://developer.android.com/design/patterns/actionbar.html
You are trying to inflate a layout as a menu
inflater.inflate(R.layout.menu, menu);
Perhaps it should be
inflater.inflate(R.menu.menu, menu);
I had a similar problem when trying to up the TargetSDK on an App that previously had worked fine. I had a full screen app where the user could draw on the entire screen and save from the options menu, but in trying to up the TargetSDK to bring new features to the device I found I lost this feature and all the internet advise was to implement an ActionBar.
After much thought I decided the best option was to implement my own menu from onBackPressed, and show the user a Handy Tip to alert the user of this somewhat odd behaviour when the Activity Was first launched. Obviously the menu needs to have an Exit option or exit the activity when back is pressed again.
It goes against standard Android behaviour, but my only choices were to put an unwanted ActionBar into my full screen activity and not make it full screen any more, or leave the app as a "legacy app" and put no new features in it.
You have problem in following line
inflater.inflate(R.layout.menu, menu);
change to
inflater.inflate(R.menu.menu, menu);
**Also make sure you have not saved
menu.xml
under
layout folder
.save it in menu folder.**
Path will be res->menu->menu.xml
I'm having Sherlock Action Bar to show several icons in the Action Bar, like sharing, info, etc.
The thing is that I want to delete, for certain activities/fragments one of the buttons (sharing), but I can't do it.
My activity (StartActivity) extends from InfoActivity, which is the one that implements the onCreateOptionsMenu.
I tried to override the onCreateOptionsMenu method and do a clear() but it doesn't work:
#Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
}
Any ideas on how to do this?
Thanks a lot in advance.
Find the menu item in question and disable or hide it. Something like this in onCreateOptionsMenu() or onPrepareOptionsMenu() if you want to make it dynamic:
menu.findItem(R.id.menu_share).setVisible(false);
What I did in the end, was creating different classes: one with the Sharing button in the menu as a button, and one without, and just making the proper activity extend from the appropriate class.
For example, StartActivity, I don't want it to have sharing capabilities, so I made it extend from an Activity without the sharing button.
Thanks #NikolayElenkov for your help!
I understand that after Android 3 menu buttons are not supported. So, I simply want to use a buton on the screen to inflate the menu. I currently use an overridden
public boolean oncreateoptionsmenu(Menu menu) { MenuInflater inflater=getMenuInflater();
inflater.inflate( R.menu.menu, menu); return true}.
This script runs on menu button press, but I also want it to run on my button press. How can this be done? What data is sent to the Menu parameter ( the menu to inflate to)?
Thanks,
On android 3+ the menu will be added to the actionbar automatically when the activity starts. There is no need to change anything.