Hello and thank you for the time you take in reading this question.
I am trying to develop an android app which will use the ActionBar compat library. I have followe
I found the answer finally for this situation.
All you need to do is call the following in the OnCreate in your activity
ActionBarPolicy.get(this).showsOverflowMenuButton();
@Andrei Google have disabled the menu overflow button in appcompat on pre honycomb. If You really want to add it go to the android's github repository and download platform_frameworks_support. It contains sorce for appcompat in platform_framework_support_master/v7/appcompat.
Create a libs folder inside appcompat and put latest android-support-v4.jar.
Now open file v7/appcompat/src/android/support/v7/internal/view/ActionBarPolicy.java
.
You will see that showOverflowMenuButton is returned false for pre honycomb.Just return it true and add this edited appcompat as library to your project
and you will not need any custom overflow button
This worked with me.
Sorry for my English
EDIT: actual code from android/support/v7/internal/view/ActionBarPolicy.java
public boolean showsOverflowMenuButton() {
// Only show overflow on HC+ devices
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;
}
Try to show as I did.
I add overflow menu (three dots) manually:
<item
android:id="@+id/menu_more"
android:icon="@drawable/abc_ic_menu_moreoverflow_normal_holo_light"
android:title="@string/action_settings"
myapp:showAsAction="always">
<menu>
<item
android:id="@+id/submenu_about"
android:showAsAction="always"
android:title="@string/menu_about"/>
</menu>
</item>
and override menu button click in activity to show this menu (solution from Opening submenu in action bar on Hardware menu button click):
private Menu mainMenu;
...
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) {
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
mainMenu.performIdentifierAction(R.id.menu_more, 0);
return true;
}
}
return super.onKeyUp(keyCode, event);
}
Result on 2.2 looks like:
Hope it helps you.