2

在我创建的新应用程序中,我得到了用于创建菜单的自动生成代码:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

我在 menu.xml 添加了项目

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item android:id="@+id/item1"></item>

</menu>

但是没有菜单按钮,我错过了什么吗?

4

3 回答 3

1

编辑:

在您的菜单定义中,您输入:

android:showAsAction="never"

将其更改为:

android:showAsAction="always"

检查此示例,包括菜单图标:

<item 
    android:id="@+id/menu_calendar"
    android:title="@string/calendar"
    android:icon="@drawable/ic_menu_calendar_holo_light"        
    android:showAsAction="always|withText" />

always表示该按钮将始终显示。ifRoom如果它是一个菜单(例如设置),您可以将其替换为应该作为选项出现在菜单中但并非一直显示的菜单。

withtext表示如果有足够的位置,菜单的标题将显示在图标旁边。

此处提供了有关所有这些选项的详细信息。

对于其余部分,您需要ActionBaronCreate()函数中创建并显示:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 

    //you might need this line if you are not using the Holo theme
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

    setContentView(R.layout.main_activity);

    ActionBar actionBar = getActionBar();
    actionBar.show();

(...)
于 2013-05-22T06:59:54.837 回答
0

尝试

<item
    android:id="@+id/action_settings"
    android:showAsAction="always"
    android:title="@string/action_settings"/>
<item android:id="@+id/item1"></item>

于 2013-05-22T07:24:02.450 回答
0

检查您正在使用的导入。检查下面的示例

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;

...

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater inflater = getSupportMenuInflater();
       inflater.inflate(R.menu.menu, menu);
       return super.onCreateOptionsMenu(menu);
    }

你应该使用Menuand MenuInflaterof actionbarsherlock..

查看有关 ActionBarSherlock 实施的此链接

于 2013-05-22T07:04:17.783 回答