您的位置:首页 > 其它

知识点四:Menu和actionBar用法

2015-08-10 14:43 302 查看
知识点二: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)

导航的三种显示模式:

N***IGATION_MODE_STANDARD
N***IGATION_MODE_LIST
N***IGATION_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用法

-------------------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: