没有xml的膨胀选项菜单

时间:2013-06-11 06:45:47

标签: android android-optionsmenu

我正在尝试从模块中将项目添加到Activity的选项菜单中。但如果没有选项菜单,我想夸大自己的菜单。如果我在模块中声明xml,则表示找不到资源。那么也许有一些方法可以在没有布局文件的情况下充气菜单?

我的意思是getMenuInflater().inflate(id, menu);

修改

我的要求没有回答,所以我会尝试指出我的问题。如果没有onOptionsMenuCreated(我通过reflections检查),我需要将自定义菜单从模块中扩展到Activity。我该怎么办?

3 个答案:

答案 0 :(得分:2)

Inflating意味着将XML文件转换为Java对象。没有XML文件就没有膨胀。但是,您可以使用java代码创建菜单,例如:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuItem menuItem = menu.add(Menu.NONE, Menu.NONE, Menu.NONE, R.string.title_about);
    menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    menuItem.setIcon(R.drawable.ic_about);
    ...
}

干杯

答案 1 :(得分:1)

可以使用xml和java代码创建菜单。要通过代码添加菜单项,您可以使用类似下面的内容

@Override  
public boolean onCreateOptionsMenu(Menu menu) {  
    menu.add("Add")  
    .setIcon(R.drawable.menu_add)  
    .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);  
    return true;  
}

答案 2 :(得分:0)

@Override  
public boolean onCreateOptionsMenu(Menu menubn) {  
    menubn.add("Add");  
    menubn.setIcon(R.drawable.menuoption);  
    menubn.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);  

}