创建选项菜单:重写onCreateOptionsMenu()
- 设置菜单可用代码动态设置menuadd();
- 通过xml设置MenuInflate.inflate();
设置菜单项点击事件:
add()添加菜单选项。
settitle()设置标题。
--------------------------------------------------------------------------------------------------------------------
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
menu.add(1, 100, 1, "菜单选项3");
menu.add(1, 101, 1, "菜单选项4");
(item);
} menu.add(1, 102, 1, "菜单选项5");
menu.add(1, 103, 1, "菜单选项6");
menu.add(1, 104, 1, "菜单选项7");
return true;
}
------------------------------------------------------------------------------------------------------------------------
ContextMenu 上下文菜单:
ContextMenu和OptionsMenu 的区别是 Optionmenu对应的是Activity,一个Activity只能有
一个选项菜单,但是可以拥有多个Contextmenu,context对应view (Listview GridView)
注册:
this.registerForContextMenu(View对象);
然后重写OncreateContextMenu方法;
实现点击事件重写 public boolean onContextItemSelected(MenuItem item)方法
public void onCreateContextMenu(android.view.ContextMenu menu, View v, android.view.ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("动作");
menu.setHeaderIcon(R.drawable.ic_launcher);
// menu.add(1, 0, 1, "跑跑跑");
// menu.add(1, 1, 1, "吃吃吃");
// menu.add(1, 2, 1, "跳跳跳");
// menu.add(1, 3, 1, "滚滚滚");
// menu.add(1, 4, 1, "谁谁谁");
// menu.add(1, 5, 1, "买买买");
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
};
*----------------------------------------------------------------------------------------------------------------------------------
SubMenu子菜单:
在onCreateOptionsMenu中声明Submeun 并且用
add方法来添加子菜单中的选项。
设置监听事件时,一般先用if判断Groupid来判断属于哪个子菜单。
(一般不同的子菜单GroupId不同)再进一步用Switch判断itemId
用java代码加载子菜单的代码省略- - ----------------------------------------------------------------------------
用xml文件添加:
在原有Item上 再添加menu标签
---------------------------------------------------------------------------------------------------------------------------
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings
">
<menu>
<item
android:id="@+id/item101"
android:orderInCategory="100"
android:title="101"
/>
<item
android:id="@+id/item102"
android:orderInCategory="100"
android:title="102"
/>
</menu>
</item>