3

我正在开发一个 Android 应用程序,我正在尝试将一个菜单项放入 ActionBar。它有足够的空间,所以它不应该在溢出或任何东西上。在我的 menu.xml 中,我添加了该项目 +android:showAsAction="ifRoom|withText"

然而,无论屏幕有多大,那个该死的菜单都不会显示在 ActionBar 上(尽管它存在于菜单中,如果用户按下一个键)。不幸的是,由于我签订了保密协议,因此我无法发布任何完整代码,但我会回答所有问题。

我膨胀菜单的部分:

public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.drinks, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:

            NavUtils.navigateUpFromSameTask(this);
            return true;

        case R.id.done:
            //stuff


        }
        return super.onOptionsItemSelected(item);
    }
4

1 回答 1

2

由于您只有一个菜单项,请改用此属性:android:showAsAction="always".

如果您在后 Honeycomb 上运行代码,则上面的编辑一直有效。但是,为了在 pre-Honeycomb 上运行,根据开发者文章,您需要扩展 from ActionBarActivity,这意味着添加兼容性支持 v4 和 v7 并为您的活动设置以下主题:

<activity android:theme="@style/Theme.AppCompat.Light" ... >

... 或 Them.AppCompat 主题。或者使用从这些扩展而来的您自己的一个。

于 2013-08-15T08:30:58.320 回答