2012-04-02 91 views
1

我已将Action Bar添加到我的应用程序中。Action Bar位置问题

由于Galaxy Nexus上的一些奇怪的原因,溢出菜单出现在屏幕的底部,而在股票应用程序(地图,Gmail,Google Play,日历等)中,溢出菜单出现在屏幕。

Overflow at the bottom

反正是有,迫使它在屏幕的顶部与应用的标题一起出现?

请注意:顶部的灰色栏包含我的应用程序的标题,但我已经删除它的截图。

+3

这不会是有益的,但我建议使用ActionBarSherlock.com,而不是与非ICS应用程序更好的向后兼容原生操作栏。 – Navarr 2012-04-02 03:42:07

+0

感谢您的建议。我还没有考虑向后兼容非ICS设备。 – mob1lejunkie 2012-04-02 04:04:31

+0

+1同意@Navarr – 2012-04-02 04:13:08

回答

2

正如评论中的人们所说的,如果你打算公开你的应用程序,那么即使它不是一个完美的解决方案(尽管如此,它最终也不得不默认并使用ABS)。但是,你有动作条更迫切的问题 - 尝试在XML这些行添加到您的根菜单:

android:showAsAction="always" 

确保

uiOptions="splitActionBarWhenNarrow" 

不存在任何地方在你的Android清单。您也可以测试以查看

setDisplayShowHomeEnabled(true/false) and setDisplayShowTitleEnabled(true/false) 

对菜单的位置有间接影响。

编辑〜另外,你是否沿着标签或其他项目的行中使用任何东西,只是没有出现,但实际上出现在顶部酒吧?

EDIT2〜这是我的选项菜单代码:

public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
    case R.id.demographics: 
     Intent intent = new Intent(); 
     intent.setClass(this, demoPanel.class); 

     startActivity(intent); 
     break; 
    case R.id.settings: 
     // another startActivity, this is for item with id "menu_item2" 
     break; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 

    return true; 
} 
+0

顶部栏只有应用程序的名称。通常我隐藏顶部栏,但我必须显示它以使Action Bar正常工作。 – mob1lejunkie 2012-04-02 05:28:06

+0

@ mob1lejunkie是的,我明白你必须展示它。当我的应用程序处于早期阶段时,我遇到了类似的情况,但我不记得导致菜单按钮出现在第二行而不是最后一行的情况。我刚刚测试了我的应用程序,splittingwhennarrow导致我的菜单图标完全消失 - 因为第一行用选项卡填充到边缘。我将编辑我的评论,这样你就可以看到我的选项菜单代码的样子,也许它会有所帮助。 – Davek804 2012-04-02 05:32:58

+0

原来我不知何故uiOptions =“splitActionBarWhenNarrow”这就是为什么溢流菜单显示在底部。 – mob1lejunkie 2012-04-02 11:34:55