Android中使用XML文件配置OptionMenu


1,配置布局文件

menu.xml:这里定义有哪些菜单,支持子菜单定义

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/close" android:title="Close"
        android:orderInCategory="3" android:icon="@drawable/eject" />
    <item android:id="@+id/no_icon" android:orderInCategory="2"
        android:title="Sans Icon" />
    <item android:id="@+id/disabled" android:orderInCategory="4"
        android:enabled="false" android:title="Disabled" />
    <group android:id="@+id/other_stuff" android:menuCategory="secondary"
        android:visible="false">
        <item android:id="@+id/later" android:orderInCategory="0"
            android:title="2nd-To-Last" />
        <item android:id="@+id/last" android:orderInCategory="1"
            android:title="Last" />
    </group>
    <item android:id="@+id/submenu" android:orderInCategory="3"
        android:title="A Submenu">
        <menu>
            <item android:id="@+id/non_ghost" android:title="Non-Ghost"
                android:visible="true" android:alphabeticShortcut="n" />
            <item android:id="@+id/ghost" android:title="A Ghost"
                android:visible="false" android:alphabeticShortcut="g" />
        </menu>
    </item>
</menu>

main.xml:其实没有任何显示的内容

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

</LinearLayout>

2、Java代码

package yyl.xmlMenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;

public class XmlMenuAcitvity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        //将页面定义的menu配置到到activity中
        new MenuInflater(getApplication())
        .inflate(R.layout.menu, menu);
        return super.onCreateOptionsMenu(menu);
    }

   
}

相关内容