大家好我试图在menuItem中设置一个Icon。我阅读了Android开发者博客,并说:
public abstract MenuItem setIcon (int iconRes)
更改与此项目关联的图标。此图标不会始终显示,因此标题应足以描述此项目。有关支持图标的菜单类型,请参阅菜单。
此方法将设置图标的资源ID,当显示此项目时,该图标将用于懒惰地获取Drawable。
参数:iconRes
要显示的新图标(作为资源ID)。
返回:此项目可以调用其他setter。
我应该把参数作为一个int。特别是我的图标的ID。但我无法弄清楚我必须在哪里找到这个ID。我只是将名为“badIcon.ico
”的图标放在drawable文件夹中。我现在应该继续吗?
谢谢你们
答案 0 :(得分:1)
这很简单...... 请参阅本教程.. here
创建 menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/next"
android:icon="@drawable/ic_next"
android:title="@string/next" />
<item android:id="@+id/previous"
android:icon="@drawable/ic_previous"
android:title="@string/previous" />
<item android:id="@+id/list"
android:icon="@drawable/ic_list"
android:title="@string/list" />
</menu>
现在您可以在菜单上设置ICON
现在位于 CreateOptionMenu
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
要获得该菜单..
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.next:
Toast.makeText(this, "You have chosen the " + getResources().getString(R.string.next) + " menu option",
Toast.LENGTH_SHORT).show();
return true;
…
default:
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:0)
如果您想以静态方式向菜单项添加图标,可以编写
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/yourId"
android:icon="@drawable/badIcon"
android:title="@string/yourTitle" />
</menu>
您可以像这样以编程方式添加图标
menu.add(0, MENU_TITLE, 0, "title").setIcon(R.drawable.badIcon);