知识点四:Menu和actionBar用法

来源:互联网 发布:炭知天下价目表 编辑:程序博客网 时间:2024/06/05 22:33
知识点二:Menu和actionBar用法

  • Android一共有三种形式的菜单:
            1.选项菜单(optinosMenu)其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来。
            2.上下文菜单(ContextMenu)
            3.子菜单(subMenu)

  • Activity有一套机制来实现对菜单的管理,方法如下:
   1.public boolean onCreateOptionsMenu(Menu menu)
             此方法用于初始化菜单,其中menu参数就是即将要显示的Menu实例。
              返回true则显示该menu,false 则不显示;
              (只会在第一次初始化菜单时调用)

           2.public boolean onPrepareOptionsMenu(Menu menu)
             在onCreateOptionsMenu执行后,菜单被显示前调用;如果菜单已经被创建,则在菜单显示前被调用。
              同样的, 返回true则显示该menu,false 则不显示;
             (可以通过此方法动态的改变菜单的状态,比如加载不同的菜单等)

           3.public void onOptionsMenuClosed(Menu menu)
              每次菜单被关闭时调用.
              (菜单被关闭有三种情形,menu按钮被再次点击、back按钮被点击或者用户选择了某一个菜单项)
              
            4.public boolean onOptionsItemSelected(MenuItem item)
               菜单项被点击时调用,也就是菜单项的监听方法。
              
  • 添加菜单:书上都有在这只是简单的介绍
          
   
  • Android3.0中ActionBar的新特性
1. ActionBar(活动栏)替代了显示在屏幕顶端的标题栏。主要负责显示菜单,widget,导航等功能,主要包括:
@  显示选项菜单中的菜单项到活动栏;
@  添加可交互的视图到活动栏作为活动视图;
@  使用应用的图标作为活动项,代表返回home或者向上等重要操作;
@  提供标签导航,方便不同的Fragment之间切换;
@  提供下拉导航功能。

2. Android3.0针对ActionBar新增的类如下:

  • ActionBar.LayoutParamsandroid:layout_gravity:设置控件本身相对于父控件的显示位置。(而android:gravity:设置的是控件自身上面的内容位置)
  • ActionBar.OnMenuVisibilityListeneronMenuVisibilityChanged(boolean isVisible)
  • ActionBar.OnNavigationListeneronNavigationItemSelected(int itemPosition, long itemId)

ActionBar.TabListener
  •     onTabReselected(ActionBar.Tab tab, FragmentTransaction ft)
  •     onTabSelected(ActionBar.Tab tab, FragmentTransaction ft)
  •     onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft)

导航的三种显示模式:
  • NAVIGATION_MODE_STANDARD
  • NAVIGATION_MODE_LIST
  • NAVIGATION_MODE_TABS

  • MenuItem有几个模式。
    MenuItem.SHOW_AS_ACTION_IF_ROOM 有位置才显示 
    MenuItem.SHOW_AS_ACTION_ALWAYS 始终显示 
    MenuItem.SHOW_AS_ACTION_NEVER 永不显示 
    MenuItem.SHOW_AS_ACTION_WITH_TEXT 显示字符串



-------------------------------------------------------------------------------------------------------------

知识点三:synchronized用法

-------------------------------------------------------------------------------------------------------------
0 0
原创粉丝点击