I need to hide the menu button in the action bar, how to hide it in action bar on Android? My minSdkVersion is 7, and I'm using support-v7-appcompat.
If you mean the action bar overflow (three-dots affordance), you "hide it" by not having anything in the overflow. That affordance will only appear if something appears in the overflow, either because you put it in the overflow (app:showAsAction="never" and android:showAsAction="never"), or there was insufficient room in the action bar for everything else you wanted.
Related
I tried to add an icon to the Action Bar, in ShowAsAction I set it to ifRoom. But no matter how, the icon only shows up in the 3 dot menu and never show up in the Action Bar, what are the possible cause of this issue?
Eventhough its possible to hide the Status bar while keeping the Action bar the docs here emphasises
"You should never show the action bar without the status bar."
What is the reason for this? Is it just a UX guideline or are there other reasons for it?
I have searched for Option menu and overflow Action menu, but did not get any difference in both.
Is there any difference or both are exactly same?
The option menu is used on Android 1.x/2.x devices, for apps that are not using an action bar backport (e.g., appcompat-v7).
The overflow menu in the action bar is used on Android devices that have an action bar, either the native action bar or a backport.
Menu items, such as those defined in onCreateOptionsMenu(), will go into an options menu on devices and apps that use it, or will go into the action bar on devices and apps that use one of those. Menu items not specifically designated to go into the action bar as toolbar-style buttons or other widgets will go into the overflow. Menu items that do not fit in the action bar will also go into the overflow.
Android uses the old options menu terms (e.g., onCreateOptionsMenu() instead of onCreateActionBarItems()) for backwards compatibility, so apps can be written to use the native action bar and still work, to some extent, on devices that lack an action bar.
There only exists one options menu. If the device has a menu key, then the overflow menu items appear when the key is pressed. On the other side, if the device has not menu key, then they appear on the action bar overflow icon.
Let me explain my current scenario.
I have a split action bar. From what I understand all action items will go to the bottom of the split action bar. I want to have some action items in the top action bar so I made a custom action bar by making an xml file for it.
In my onCreate, I have this to set up the top action bar...(custom_actionbar is an xml file I made.)
getActionBar().setDisplayOptions(
ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP
| ActionBar.DISPLAY_SHOW_CUSTOM);
View view = View.inflate(getApplicationContext(),
R.layout.custom_actionbar, null);
getActionBar().setCustomView(view);
So this works to set up the top of the action bar.
Now I am getting closer to my problem. I can currently get an action overflow icon in the bottom of the split action bar, but I want the icon to be at the top of the split action bar.
For a simple action bar it is possible to set the action overflow icon by doing android:showAsAction = "never" in the respective menu xml file.
HOWEVER, if I am doing a custom action bar for the top, I can not do this. This will only apply to the bottom action bar as all of the elements in the respective menu xml file will go to the bottom of a split action bar.
Does anyone know how I can get the action overflow icon to appear at the top of the split action bar or should I remodel everything in a different way? Like just have a normal action bar and then have some strip to hold image buttons at the bottom to mimic a split action bar? Or is there a way to get the elements in the menu xml file to go to the top of the split action bar?
Any Help is appreciated.
Thanks
By what i understand you want to have the overflow menu in the top action bar which is a custom xml file. You can actually mimic that overflow menu icon and the options list in the custom xml file if required. It is basically a hack to use popup windows with a list adapter to mimic the overflow menu behavior. Check the link: http://rajeshandroiddeveloper.blogspot.com/2013/07/android-popupwindow-example-in-listview.html
Hopefully this solves you problem.
So there is no real "good" way of having the action overflow button in the top of a split action bar menu. There are several ways that one could go about doing this.
Create a custom view for the top, have an image button that represents the action overflow menu icon and launch a pop up menu onClick to simulate the action overflow menu.
Create a regular (single) action bar and then create a custom view that will be at the bottom of the activity that will resemble the bottom of a split action bar. The action bar can get the action overflow menu if at-least one menu item is set to android:showAsAction = "never"
I personally went with option 2 because I could not find a suitable icon that represents the action overflow icon.
How can I hide the top Action Bar but show the Split Action Bar using ActionBarSherlock. I would like to have Tabs at the top instead like this:
The Android developer site states the following to hide the action bar but keep the split action bar:
If you'd like to hide the main action bar at the top, because you're
using the built-in navigation tabs along with the split action bar,
call setDisplayShowHomeEnabled(false) to disable the application icon
in the action bar. In this case, there's now nothing left in the main
action bar, so it disappears and all that’s left are the navigation
tabs at the top and the action items at the bottom, as shown by the
second device in figure 3.
https://developer.android.com/guide/practices/tablets-and-handsets.html#SplitActionBar
In my SherlockFragmentActivity I call the following, however only the app icon and title disappear and the action bar stays like this:
//Hide action bar
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
Calling getSupportActionBar().hide() hides the action bar but also hides the split action bar.
The tabs only roll up into the top action bar if you are using the Tabs provided by ABS. You're not using ViewPager/ViewPagerIndicator for the tabs by any chance are you? (I have this issue currently)