我正在尝试从模块中将项目添加到Activity
的选项菜单中。但如果没有选项菜单,我想夸大自己的菜单。如果我在模块中声明xml
,则表示找不到资源。那么也许有一些方法可以在没有布局文件的情况下充气菜单?
我的意思是getMenuInflater().inflate(id, menu);
修改:
我的要求没有回答,所以我会尝试指出我的问题。如果没有onOptionsMenuCreated
(我通过reflections
检查),我需要将自定义菜单从模块中扩展到Activity
。我该怎么办?
答案 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);
}