0

我从谷歌得到这张图片,它符合我想向你展示的内容。我只想得到蓝色的结果,我想通过代码(而不是通过 xml 文件)来做到这一点。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    menu.add(Menu.NONE, Menu.NONE, Menu.NONE, "Add").setIcon(R.drawable.myicon);
    return true;
}

问题是值“添加”出现在图像的橙色箭头内,我想用图像显示在外面(在左侧)。

我怎样才能做到这一点?谢谢。

4

2 回答 2

3

您需要调用setShowAsAction()您的 MenuItem。根据菜单指南,在操作栏中显示的项目称为操作项。您以橙色指出的菜单是操作溢出菜单。

该文档列出了您可以传入的各种标志。您要查找的是SHOW_AS_ACTION_ALWAYS.

如果你使用SHOW_AS_ACTION_IF_ROOM,不适合 ActionBar 的菜单项将自动移动到溢出菜单。如果您使用SHOW_AS_ACTION_NEVER,它们将始终位于溢出菜单中。

如果您支持低于 11 (3.0) 的 API 版本,请确保setShowAsAction()包含 API 版本检查。

于 2013-10-22T16:48:11.723 回答
0

这些是操作栏项目

1.创建图标并复制到drawable文件夹2.在菜单文件夹中创建xml文件并添加这个

<item
    android:id="@+id/newrss_actionbar"
    android:icon="@drawable/content_new"
    android:showAsAction="always"
    android:title="@string/abc"/>

3.在活动文件中这样使用

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
            switch (item.getItemId()) {
            case R.id.newrss_actionbar:
            //do your work
            return true;
}
于 2013-10-22T16:49:58.397 回答