zoukankan      html  css  js  c++  java
  • Android中菜单的使用

    菜单(Menu)
    -----------------------------
    一、OptionsMenu(选项菜单/系统菜单)
    创建方式:
    1) 通过resmenu下的XML文件配置,并在Activity的onCreateOptionsMenu()方法中加载,配置时,应该至少配置id、orderInCategory、title属性
    2) 在Activity的onCrateOptionsMenu()方法中,通过参数Menu的add()方法添加
    响应方法:
    1) 明确每个菜单项的id
    2) 重写Activity的onOptionsItemSelected()方法,对参数MenuItem进行判断后进行响应
    二、SubMenu(子菜单)
    创建方式:
    1) 在resmenu下的XML文件中,为一级菜单的<item>节点添加子级<menu>节点,并在<menu>节点下使用若干个<item>节点配置若干个子级菜单,配置方法与一级菜单的配置完全相同
    2) 在Activity的onCreateOptionsMenu()方法中,使用addSubMenu()添加出可以存在子级菜单的一级菜单,并获取调用该方法时的返回值,返回值类型为SubMenu,然后通过该返回值继续调用若干次add()方法,以创建若干个子级菜单
    Ps:菜单项的响应不区分菜单项的级别,所以,子菜单的响应与普通菜单的完全相同
    3) ContextMenu(上下文菜单)
    特点:
    >> 上下文菜单是通过长按某个控件后弹出的菜单
    >> 上下文菜单必须通过registerForContextMenu()方法注册到控件之上,对应的控件才会有上下文菜单
    创建方法:
    通过重写Activity的onCreateContextMenu()方法可以创建上下文菜单,具体创建过程与创建OptionsMenu相同
    可以为多个控件都注册上下文菜单,当创建时,则根据onCreateContextMenu()的第2个参数View判断是由长按了哪个控件导致需要上下文菜单,从而决定创建出不同的菜单项
    响应方法:
    通过重写Activity的OnContextItemSelected()方法可以响应上下文菜单的选择
    在AdapterView上的应用:
    a) 注册上下文菜单时,为整个AdatperView(例如ListView或GridView)注册上下文菜单
    2) 创建上下文菜单时,可以根据onCreateContextMenu()方法的第3个参数ContextMenuInfo向下转型为AdapterContextMenuInfo,然后获取该对象的position属性,即表示创建第几个列表项对应的上下文菜单
    3) 响应上下文菜单里,可以把第2个步骤中得到的position提升为全局变量,则响应时可以直接获取列表项的位置信息,或者,根据OnContextItemSelected()方法的参数调用getMenuInfo()得到ContextMenuInfo对象,然后向下转型为AdapterContextMenuInfo,再获取position值,最后,进行处理,这2种响应方法的实现效果是相同的。

  • 相关阅读:
    HttpRunnerManager使用(一)
    python入门(七):字符串
    python入门(六):函数
    python入门(五):切片列表元祖字典
    python入门(四):字符串、编码、random
    HttpRunnerManager安装部署
    python入门(三):循环
    python入门(二):isinstance、内置函数、常用运算等
    js 去掉空格
    JQ赋值
  • 原文地址:https://www.cnblogs.com/fighting9527/p/5245279.html
Copyright © 2011-2022 走看看