选择菜单的 动 -- 静态创建

 选择菜单的 动 -- 静态创建
 -- 静态创建一个菜单
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值