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对比。

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

      

      

  • 相关阅读:
    MVC项目发布IIS CSS无法加载
    加班理由总结
    查找SQL Server 自增ID值不连续记录
    MySQL按时间查找
    近期任务
    AngularJs使用过程中,在ng-repeat中使用track by
    Java保留字和关键字
    抽象类和接口的区别
    Java标识符
    Java方法重载
  • 原文地址:https://www.cnblogs.com/JiMoRuXue/p/5048297.html
Copyright © 2011-2022 走看看