无论我做什么,文本都不会与图像一起显示在操作项中。有人可以帮我这个。几天来一直苦苦挣扎。
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu subMenu1 = menu.addSubMenu("Types");
subMenu1.add("type-1");
subMenu1.add("type-2");
subMenu1.add("type-3");
MenuItem subMenu1Item = subMenu1.getItem();
subMenu1Item.setIcon(R.drawable.down_arrow);
subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
在上面的代码中,“类型”文本不会与图标一起显示。仅显示图标。如果我删除subMenu1Item.setIcon(R.drawable.down_arrow);
行,则会显示文本。但我想要两个。这里我将子菜单项添加到操作项,以便我得到下拉列表。
由于我没有得到关于question的建议,我决定至少以这种方式添加子菜单项。我有两个问题。
1)
如何使文字与图标一起显示。
2)
如何收听子菜单的点击次数,即我们如何知道点击子项目的时间。单击Item时,我们可以侦听onOptionsItemSelected(MenuItem项),但是子菜单项是什么情况?
如果有人可以帮助我,我会非常感激。
答案 0 :(得分:1)
不幸的是SHOW_AS_ACTION_WITH_TEXT只是suggestion。根据个人经验,它似乎在横向模式下工作。
您也可以在onOptionsItemSelected()中收听子菜单项
subMenu1Item.add(GROUP_ID, ITEM_ID, ORDER, "type-1"); // ... @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case ITEM_ID: // do something } }