zoukankan      html  css  js  c++  java
  • Android-操作栏之选项菜单

      回答第一个问题:什么是选项菜单?答:选项菜单就是可以显示在操作栏上的菜单。

      菜单的视图需要建立在res/menu下。

      

      其中,showAsAction属性用于指定菜单选项是显示在操作栏还是隐藏到溢出菜单(overflow menu)。ifRoom|withText表示只要空间够,就显示图标与文字在操作栏上。always(不推荐使用)和never也是属性值。

      选项菜单除了视图之外,有两个回调函数非常重要。

      public void onCreateOptionsMenu(Menu menu,MenuInflater inflater)

      public boolean onOptionsItemSelected(MenuItem item)

      这两个方法在activity和fragment里都有。

      先说onCreateOptionsMenu方法,如果选项菜单是在fragment中,整个流程如下:

      FragmentManager--(判断fragment的hasOptionsMenu值)-->true--(调用fragment的onCreateOptionsMenu())-->OptionsMenu

      

      

      再说onOptionsMenuSelected(MenuItem item)方法,该方法传入的参数就是被选中的item,还记得本文开头的选项菜单视图中定义的item么,

    对,就是那里定义的item。那么如何判断用户选择的是哪个item呢?通过item的getItemId()方法获取item的id来和视图中我们的item中的id对比。

      太阳照常升起,人生寂寞如雪。

      

      

  • 相关阅读:
    Java零基础学习(四)JSP与Servlet
    Java零基础学习(三)封装继承多态
    vsftpd+nginx搭建图片服务器的一些问题
    1003. 我要通过!(20)(两种语言的运行时间差异)
    acm 1108 java做法
    acm 2020 用java实现
    acm 2519 java做法
    acm 2040 java做法
    acm 2003 java做法
    acm 2041 java的做法
  • 原文地址:https://www.cnblogs.com/JiMoRuXue/p/5048297.html
Copyright © 2011-2022 走看看