安卓中的菜单选项

6
经过参考许多教程,我了解到在API 10以上版本中,他们使用ActionBar而不是Menu。但是我正在使用API 7 SDK进行测试,我已经使用Menus来显示带有drawable images的文本。但只有文本显示出来,菜单选项中的绘图图标没有显示出来。请帮助我解决这个问题。
我的XML:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <!--
             Single menu item
             Set id, icon and Title for each menu item
    -->
    <item
        android:id="@+id/savedstory"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Saved Stories"/>
    <item
        android:id="@+id/setting"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Settings"/>
    <item
        android:id="@+id/Bookmark"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Bookmark This"/>
    <item
        android:id="@+id/share"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Share This"/>
    <item
        android:id="@+id/save"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Save This"/>
    <item
        android:id="@+id/small"
        android:icon="@drawable/font3"
        android:minHeight="20dp">
This icon is not showing.
            />
        <item
            android:id="@+id/medium"
            android:background="#ffffff"
            android:minHeight="20dp"
            android:title="Medium font"/>
        <item
            android:id="@+id/big"
            android:background="#000000"
            android:minHeight="20dp"
            android:title="Big font"/>
    </item>

</menu>

我的膨胀代码:

public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater menuInflater = getMenuInflater();
  menuInflater.inflate(R.menu.newsdescriptionmenu, menu);
  return true;
}
2个回答

2
请查看以下代码片段。
menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/Menu1"
        android:orderInCategory="1"
        android:title="Menu 1"/>
    <item
        android:id="@+id/Menu2"
        android:orderInCategory="2"
        android:title="Menu 2"/>
    <item
        android:id="@+id/Menu3"
        android:orderInCategory="3"
        android:title="Menu 3"/>
    <item
        android:id="@+id/submenu"
        android:orderInCategory="4"
        android:title="Sub menu">
        <menu>
            <item
                android:id="@+id/submenu1"
                android:title="Sub menu 1"/>
            <item
                android:id="@+id/submenu2"
                android:title="Sub menu 2"/>
        </menu>
    </item>

</menu>

在您的Activity类中添加以下行:
public class MenuActivity extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
  public boolean onCreateOptionsMenu(Menu menu) {
    new MenuInflater(getApplication()).inflate(R.menu.menu, menu);
    return(super.onPrepareOptionsMenu(menu));
  }

  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.Menu1:
      Toast.makeText(this, "Menu 1", Toast.LENGTH_SHORT).show();
    break;
    case R.id.Menu2:
      Toast.makeText(this, "Menu 2", Toast.LENGTH_SHORT).show();
    break;
    case R.id.Menu3:
      Toast.makeText(this, "Menu 3", Toast.LENGTH_SHORT).show();
    break;
    case R.id.submenu:
      Toast.makeText(this, "Sub menu", Toast.LENGTH_SHORT).show();
    break;
  }
  return(super.onOptionsItemSelected(item));
 }
}

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menuItem1" android:icon="@drawable/menu_item1" android:title="@string/menu_item1" /> <item android:id="@+id/menuItem2" android:icon="@drawable/menu_item2" android:title="@string/menu_item2" /> </menu> - itsrajesh4uguys

2
如果您参考菜单文档,则可以了解以下内容: 选项菜单:图标菜单不支持项目复选标记,并且仅显示项目的简化标题。扩展菜单(仅在可见六个或更多菜单项时可用,通过图标菜单中的“更多”项访问)不显示项目图标,并且不鼓励使用项目复选标记。
由于我无法看到您如何填充(哪些选项等)您的菜单,因此我只能假设此项的图标未显示,因为它是第六个项目并在“更多”后进入扩展菜单。

是的,我明白了。在可展开的项目中,只会显示文本而不是图标。我说得对吗?非常感谢。 - Subburaj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接