Android SDK 开发之创建菜单
2010-03-23 04:18:00 来源:WEB开发网editMenu.add("redo");
return result;
}
选择子菜单中的选项将被onOptionsItemSelected()回调函数处理。你也可以使用xml来增加子菜单。
Define Menus in XML 在xml中定义菜单
就像Android UI布局一样,你就可以在xml里定义应用程序菜单,然后在你的菜单的onCreate...()回调函数中展开它。这使得你的应用程序代码更加整洁,并且把界面设计放到xml里面也更加直观。
首先,建一个文件夹res/menu。这是你所有的定义菜单的xml文件的位置。
在一个菜单xml布局中,有3个有效元素:
,和。菜单项和组元素必须为菜单的子元素,但菜单项元素也可以为一个组的子元素,另一个菜单元素也可以为一个菜单项的子元素(在子菜单中)。任何文件的根元素必须为一个菜单元素。
我们以一个选项菜单为例,建立一个名为options_menu.xml的文件:
《menu xmlns:android="http://schemas.android.com/apk/res/android"》
《item android:id="@+id/new_game"
android:title="New Game" /》
《item android:id="@+id/quit"
android:title="Quit" /》
《/menu》
然后,在onCreateOptionsMenu() 方法中展开这个菜单:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}
getMenuInflater()方法返回我们的activity的context的MenuInflater。我们然后可以调用inflate(),把指向Menu对象的一个指针传给它。
在创建项目比较多的菜单时,这样做会保持我们代码的清晰。
你可以将菜单项放在一个group元素中来使他们组成一个组,也可以将一个菜单嵌套在另一个菜单中形成子菜单。每个元素支持所有的控制属性包括快捷键、复选框、图标等。详见Available Resource Types一文的 Menus 节。
Menu Features 菜单特性
这里是一些大多数菜单具有的其他特性。
Menu groups 菜单组
当给一个菜单加入项时,你可以把它们组成一个菜单组。一个菜单组是一组菜单项的集合,它们具有某些相似的特性,例如可见性、有效性和可选择性。
更多精彩
赞助商链接