Android系统UI交互控件Action Bar初探
2013-07-03 23:26
225 查看
过年期间,Google正式宣布取消Android系统中MENU键的使用,也就是基于Android 4.0系统的手机都应没有MENU这一固定按键。这无疑是个变革性的改动,在我眼中,这似乎把Android较iOS交互的一处优势砍掉了。
Google用Action Bar作为MENU的替代,而又强调Action Bar不是MENU,我理解Google的意思,是想用一种全新的模式理解这一界面操作控件。相信Google是做足了用户测试才做此决策,我对测试结果和解释比较好奇。
这里把Android Design网站上官方关于Action Bar的信息翻译一下,一方面作为将来Android app改版前的学习,另一方面,希望深入了解Google改用Action Bar的初衷。
![](http://www.jcodecraeer.com/uploads/allimg/121014/23063a225-0.png)
突出显示一些重要操作(如“最新”、“搜索”等)
在程序中保持统一的页面导航和切换方式
将使用频率低的功能放在Action overflow中,节省页面空间
一个固定区域显示程序标示
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306394H0-1.png)
程序图标:可显示软件icon,也可用其他图标代替。当软件不在最高级页面时,图标左侧会显示一个左箭头,用户可以通过这个箭头向上导航。
视图切换:当程序通过不同的视图方式(Views)展现信息时,这部分区域可以让用户在不同视图间切换。
功能按钮:这个放最重要的软件功能,放不下的按钮就自动进入Action overflow了。
Action overflow
![](http://www.jcodecraeer.com/uploads/allimg/121014/23063a3V-2.png)
主要Main action bar:用户可以通过main action bar导航至上一级,因此这个操作条是必须的;
顶部Top bar:当页面上有不同的内容视图时,可在这个条上使用TAB或spinner下拉菜单的形式切换;
底部Bottom bar:要展现更多操作和功能,在页面最下端排列。
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306391O0-3.png)
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306392I8-4.png)
可左右滑动的tabs:可滑动的tabs条独占一行,宽度为整个屏幕宽度;当你有大量需要切换的项目或不确定多少项目时使用。
Spinners下拉条
官方给出使用spinner而不用tab的情况:
当不希望tab占据太多页面竖直方向上的空间
当认为用户不需要经常在项目之间切换时
操作按钮
Google还在官方介绍上给出了一种给功能按钮排序提供依据的FIT模式,如果下面任何一项适用,则把该按钮放在action bar上是合适的,否则放在overflow中即可。
F – Frequent 高频
当用户在这个页面时,是否10次中至少有7次会使用这个按钮?
用户是否通常要连续使用很多次?
如果每次使用该功能都要多一步操作,会不会很繁琐?
I – Important 重要
你是否希望每个用户都能发现这个功能,或者因为它很酷或者是你的卖点?
你是否认为当需要用到这个按钮时,应该很容易触及?
T – Typical 典型
在相似的软件中,这个功能是不是通常是的最重要操作?
在上下文环境下,如果这个操作按键被埋在overflow中,用户会不会惊讶?
下面的链接里包含一些系统自带操作的图标素材,针对不同屏幕分辨率,可以使用在Holo Light和Holo Dark主题中;另外包括图标的Adobe Illustrator源文件可供自行修改。
Download the Action Bar Icon Pack
Action overflow
Action overflow中存放并不会频繁用到的操作。按照官方网页上的说法,“Overflow图标仅显示在没有MENU硬按键的手机上,而对于有MENU键的 手机,overflow图标是不显示的,当用户点击MENU按键时弹出。”这样的说法比较蹊跷,似乎和Google敦促手机厂商及软件开发商取消MENU 的行为不相匹配。
Action bar上可以放下多少操作按钮?
如果操作按钮和软件标题等放在一排,放按钮的空间只能最多占用一半空间,如果按钮采用屏幕底部的整行action bar则可以使用整个屏幕宽度。
屏幕宽度值Density-independent Pixels(dp)决定可以放置的图标数:
少于360 dp = 2个图标
360-499 dp = 3个图标
500-599 dp = 4个图标
多于600 dp = 5个图标
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306393H1-5.png)
图中最后一列中的“o”表示一个操作按钮,“=”代表overflow图标
分享功能
当软件中需要对内容进行分享,比如照片、视频,可以在action bar上使用share action provider,它会自动显示最常用到的一个分享按钮和可以下拉的更多分享选项。
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306392R4-6.png)
转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1014/437.html
Google用Action Bar作为MENU的替代,而又强调Action Bar不是MENU,我理解Google的意思,是想用一种全新的模式理解这一界面操作控件。相信Google是做足了用户测试才做此决策,我对测试结果和解释比较好奇。
这里把Android Design网站上官方关于Action Bar的信息翻译一下,一方面作为将来Android app改版前的学习,另一方面,希望深入了解Google改用Action Bar的初衷。
![](http://www.jcodecraeer.com/uploads/allimg/121014/23063a225-0.png)
什么是Action Bar?
Action Bar被认为是新版Android系统中最重要的交互元素,在程序运行中一直置于顶部,主要起到的作用在于:突出显示一些重要操作(如“最新”、“搜索”等)
在程序中保持统一的页面导航和切换方式
将使用频率低的功能放在Action overflow中,节省页面空间
一个固定区域显示程序标示
Action Bar分成四个区域:
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306394H0-1.png)
程序图标:可显示软件icon,也可用其他图标代替。当软件不在最高级页面时,图标左侧会显示一个左箭头,用户可以通过这个箭头向上导航。
视图切换:当程序通过不同的视图方式(Views)展现信息时,这部分区域可以让用户在不同视图间切换。
功能按钮:这个放最重要的软件功能,放不下的按钮就自动进入Action overflow了。
Action overflow
屏幕旋转及不同分辨率适配
Action Bar可拆分成多行,形成split action bars,来适应不同分辨率,拆分后一般包含三个部分:![](http://www.jcodecraeer.com/uploads/allimg/121014/23063a3V-2.png)
主要Main action bar:用户可以通过main action bar导航至上一级,因此这个操作条是必须的;
顶部Top bar:当页面上有不同的内容视图时,可在这个条上使用TAB或spinner下拉菜单的形式切换;
底部Bottom bar:要展现更多操作和功能,在页面最下端排列。
关于上下文操作条
Contextual Action Bar (CAB) 是在一些特定页面操作下,短暂叠在原有action bar上面的控件,经常用在对所选文字和数据进行相关操作时,从性质上看,比较像右键弹出菜单,也就是对所选区域的可选操作。![](http://www.jcodecraeer.com/uploads/allimg/121014/2306391O0-3.png)
Action Bar包含元素
Tabs,不多说了,见图![](http://www.jcodecraeer.com/uploads/allimg/121014/2306392I8-4.png)
可左右滑动的tabs:可滑动的tabs条独占一行,宽度为整个屏幕宽度;当你有大量需要切换的项目或不确定多少项目时使用。
Spinners下拉条
官方给出使用spinner而不用tab的情况:
当不希望tab占据太多页面竖直方向上的空间
当认为用户不需要经常在项目之间切换时
操作按钮
Google还在官方介绍上给出了一种给功能按钮排序提供依据的FIT模式,如果下面任何一项适用,则把该按钮放在action bar上是合适的,否则放在overflow中即可。
F – Frequent 高频
当用户在这个页面时,是否10次中至少有7次会使用这个按钮?
用户是否通常要连续使用很多次?
如果每次使用该功能都要多一步操作,会不会很繁琐?
I – Important 重要
你是否希望每个用户都能发现这个功能,或者因为它很酷或者是你的卖点?
你是否认为当需要用到这个按钮时,应该很容易触及?
T – Typical 典型
在相似的软件中,这个功能是不是通常是的最重要操作?
在上下文环境下,如果这个操作按键被埋在overflow中,用户会不会惊讶?
下面的链接里包含一些系统自带操作的图标素材,针对不同屏幕分辨率,可以使用在Holo Light和Holo Dark主题中;另外包括图标的Adobe Illustrator源文件可供自行修改。
Download the Action Bar Icon Pack
Action overflow
Action overflow中存放并不会频繁用到的操作。按照官方网页上的说法,“Overflow图标仅显示在没有MENU硬按键的手机上,而对于有MENU键的 手机,overflow图标是不显示的,当用户点击MENU按键时弹出。”这样的说法比较蹊跷,似乎和Google敦促手机厂商及软件开发商取消MENU 的行为不相匹配。
Action bar上可以放下多少操作按钮?
如果操作按钮和软件标题等放在一排,放按钮的空间只能最多占用一半空间,如果按钮采用屏幕底部的整行action bar则可以使用整个屏幕宽度。
屏幕宽度值Density-independent Pixels(dp)决定可以放置的图标数:
少于360 dp = 2个图标
360-499 dp = 3个图标
500-599 dp = 4个图标
多于600 dp = 5个图标
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306393H1-5.png)
图中最后一列中的“o”表示一个操作按钮,“=”代表overflow图标
分享功能
当软件中需要对内容进行分享,比如照片、视频,可以在action bar上使用share action provider,它会自动显示最常用到的一个分享按钮和可以下拉的更多分享选项。
![](http://www.jcodecraeer.com/uploads/allimg/121014/2306392R4-6.png)
转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1014/437.html
相关文章推荐
- Android示例-JavaScript与UI控件交互(一)
- 【Android游戏开发之六】在SurfaceView中添加系统控件,并且相互交互数据!
- Android示例-JavaScript与UI控件交互(二)
- Android 重写系统控件UI,自定义进度条
- Android UI系统控件进阶(一)之列表控件ListView详解
- 【Android游戏开发之六】在SurfaceView中添加系统控件,并且相互交互数据!
- Android开发-UI控件:为ListView,GirdView,etc...添加系统自带的下拉刷新功能
- 【Android游戏开发之六】在SurfaceView中添加系统控件,并且相互交互数据!
- Android系统UI设计之:Widget控件
- Android UI系统控件进阶(三)—自动完成文本控件AutoCompleteTextView详解及属性
- Android UI系统控件进阶(四)—网格视图控件GridView
- Android:Activity和Fragment交互、Fragment控件UI升级相关内容
- Android UI系统控件进阶(二)—下拉列表控件Spinner,进度条ProgressBar,滑块控件SeekBar,评分控件RatingBar
- 为android系统控件设置样式
- Android软件开发之盘点常用系统控件界面大合集(三)
- Android UI学习1:控件和基本事件的响应
- Android基础系列-----------GUI系统之Android的UI显示概述
- Android中多个UI控件实现滚动
- UGUI基于EventTrigger的UI交互事件监听系统&动态加载
- Android UI开发专题(四) View自绘控件