知识点四: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用法
-------------------------------------------------------------------------------------------------------------
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用法
-------------------------------------------------------------------------------------------------------------
相关文章推荐
- android ListView奇偶行显示不同颜色
- C++与Java的语法区别
- Unity中游戏的声音管理
- iOS 使用const定义项目全局变量
- javascript学习笔记(数组)-2015-08
- 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)网购链接
- [最短路]使用优先队列优化的Dijkstra算法
- 流量控制与拥塞控制
- POJ 1011 Sticks 经典的dfs+剪枝
- 九度OJ 题目1468:Sharing
- 相机标定
- Android 内存优化总结
- 爱福窝在线装修设计软件测评
- C++ 的那些坑 (Day 1)
- 发送带附件的邮件
- Linux磁盘与文件系统管理(4)
- NOIP2009模拟考试总结
- OSGI中引用外部包的几种方法
- 电信宽带没有路由器也能上无线网
- 源码安装的mysql新增federated引擎