选择菜单的 动 -- 静态创建
-- 静态创建一个菜单
1、在res里右击创建一个名为menu文件夹
2、在创建好的res/menu里创建一个android XML file 文件
3、里面布局需要的菜单名称
代码示例:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/user_set"
android:title="用户设置"/>
<item
android:id="@+id/user_exit"
android:title="用户退出"/>
<item android:id="@+id/colour_set" android:title="颜色设置">
<menu>
<group>
<item
android:id="@+id/colour_red"
android:title="红色"/>
<item
android:id="@+id/colour_blue"
android:title="蓝色"/>
<item
android:id="@+id/colour_green"
android:title="绿色"/>
</group>
</menu>
</item>
<item android:id="@+id/font_set" android:title="字体大小">
<menu>
<group>
<item
android:id="@+id/font_30"
android:title="30sp"/>
<item
android:id="@+id/font_40"
android:title="40sp"/>
<item
android:id="@+id/font_50"
android:title="50sp"/>
</group>
</menu>
</item>
</menu>
-----------------
4、在MainActivity 里重写onCreateOptionsMenu方法来静态创建一个刚刚布局好的选择菜单
代码
@Override//静态菜单重写的方法
public boolean onCreateOptionsMenu(Menu menu) {
//用getMenuInflater().inflate方法来获取菜单的布局 进行静态创建一个布局好的菜单
//参数1 -- menu文件夹里的静态布局好的菜单名字
//参数2 -- ?
getMenuInflater().inflate(R.menu.men_activity, menu);
return super.onCreateOptionsMenu(menu);
}
------------------
5、然后想 点击选中的静态菜单触发一些 事件就要 重写一个监听方法
代码
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
return super.onMenuItemSelected(featureId, item);
}
该方法里放一些要点击时做的事件
==========================================================
-- 动态创建一个菜单
//不需要再res/menu/文件夹里布局一个菜单 -- 可以通过代码来创建
//动态创建一个菜单也需要重写onCreateOptionsMenu方法
代码
//动态菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//利用menu.add方法来动态创建需要的菜单名
//Menu.add(int groupId, int itemId, int order, CharSequence title)
//第一个参数 -- 没有可以用Menu.NONE
//第二个参数 -- 显示的顺序
//第三个参数 -- ?
//第四个参数 -- 要创建的菜单名字
menu.add(Menu.NONE, 1, Menu.NONE, "菜单1");
menu.add(Menu.NONE, 2, Menu.NONE, "菜单2");
menu.add(Menu.NONE, 3, Menu.NONE, "菜单3");
return super.onCreateOptionsMenu(menu);
}
转载于:https://my.oschina.net/u/2542711/blog/608363