操作栏位置问题

时间:2012-04-02 03:40:18

标签: android android-layout android-4.0-ice-cream-sandwich android-actionbar

我已将Action Bar添加到我的应用程序中。

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

Overflow at the bottom

无论如何强制它与app标题一起出现在屏幕顶部?

注意:顶部灰色栏包含我的应用程序的标题,但我已将其删除以获取此屏幕截图。

1 个答案:

答案 0 :(得分:2)

正如评论中的人所说,如果你计划公开你的应用程序,你最终将不得不默认并使用ABS,即使它不是一个完美的解决方案(尽管它已经接近了)。但是,对于ActionBar更直接的问题 - 尝试将这些行添加到XML的根菜单中:

android:showAsAction="always"

确保

uiOptions="splitActionBarWhenNarrow"
Android Manifest中的任何位置都不存在

。您还可以测试是否

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;
}