Android Action Bar简介

Design: Action Bar

  Action Bar是在屏幕顶端的一部分内容,通常在整个app进行中都保持存在。

  它提供了几个关键的功能:

  1.使得重要的动作明显且可以通过可预测的方式获得(比如New和Search)。

  2.提供了app中一致的导航和View转换。

  3.通过提供action流,减少了杂乱,尤其是对很少使用的动作来说。

  4.为你的app内容提供了足够多的空间。

Action Bar区域

  Action Bar可以分为四个不同的功能区域:

1. App icon

  可以放一些logo或者牌子之类的图标。

  但是如果你的app当前不在顶层屏幕,记得在logo左边放上Up指示图标(可以是一个返回箭头之类的),这样用户可以向上一层返回。

  更多可参见 Navigation

2. View control

  如果你的app在不同的view中展示数据,action bar中的这一部分可以允许用户进行view的切换。

  比如drop-down的菜单或者tab控制。

  更多可参见App Structure 

  如果app不包含View切换,action bar的这一部分也可以用来展示非交互的内容,比如title或较长的branding信息。

3. Action buttons

  Action Bar的这一部分用来展示一些app中比较重要的动作。

  Action Bar中放不下的动作会自动移动到action overflow(4)中去。长按一个icon来看动作的名字。

  动作应该有排序,FIT scheme可以用来对动作进行优先级划分。

  Frequent, Important, Typical的动作应该被放在action bar里,如果都不满足,则应该放入action overflow中。

4. Action overflow

  把不常用的动作放在action overflow中来。

  Action bar上的action overflow图标仅仅在没有硬件菜单键的时候才显示,如果有菜单键,用户点击菜单键将会显示action overflow。

Action Bar的适配

  为适配不同的设备,考虑不同的屏幕方向和屏幕尺寸,可以分割action bar。

  分割的时候action bar的可考虑位置主要有三个:

  1.Main content bar

  2.Top bar

  3.Bottom bar

  如果允许用户向上层返回,即Up返回,那么Main content bar最少要提供向上返回的符号。

  Top bar中可以用tab或者spinner让用户在View之间快速地进行切换。

  Bottom bar通常用来展示动作,即action和action overflow。

  Action bar中可以容纳的按钮个数(即action bar的容量)遵循一定的规律:

  Main content bar中的action buttons不会占超过50%的宽度。

  但底部的bar可以被全部占据。

  屏幕的宽度(以dp为单位)决定了可以容纳的项目数目:

  360dp以下:2个icon。

  360-499 dp = 3 icons

  500-599 dp = 4 icons

  600 dp and larger = 5 icons

Action Bar的实现

  Action Bar的ActionBar API是Android 3.0(API Level 11)才引进的。但是可以通过Support Library 支持2.1及以上版本。

  具体见:

  http://developer.android.com/guide/topics/ui/actionbar.html

参考资料

  Design: Action Bar:

  http://developer.android.com/design/patterns/actionbar.html

  Develop: Action Bar:

  http://developer.android.com/guide/topics/ui/actionbar.html

  Reference: Action Bar:

  http://developer.android.com/reference/android/app/ActionBar.html

  资源下载:

  Download the Action Bar Icon Pack

Android Action Bar简介的更多相关文章

  1. Android UI开发神兵利器之Android Action Bar Style Generator

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/x359981514/article/details/26283129 ActionBar是3.0后的 ...

  2. Android UI法宝的发展Android Action Bar Style Generator

    ActionBar它是3.0经UI设计规格.同时它是Google设计风格强烈推荐,如何做一个高速设计的眼睛ActionBar之.进一步,我们设置了阶段为一个入眼ActionBar模板吧,然后,Andr ...

  3. Android Action Bar 详解篇 .

    作者原创,转载请标明出处:http://blog.csdn.net/yuxlong2010 作为Android 3.0之后引入的新的对象,ActionBar可以说是一个方便快捷的导航神器.它可以作为活 ...

  4. 【Android Developers Training】 8. 定义Action Bar风格

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  5. Android训练课程(Android Training) - 添加活动栏(使用action bar)

    2014-10-28 张云飞VIR 翻译自:https://developer.android.com/training/basics/actionbar/index.html 添加活动栏(Addin ...

  6. Android设计和开发系列第二篇:Action Bar(Develop—Training)

    Adding the Action Bar GET STARTED DEPENDENCIES AND PREREQUISITES Android 2.1 or higher YOU SHOULD AL ...

  7. Contextual Action bar(2) 简介,启动,各函数介绍

    一.Context Action Bar简介 它是一个ActionBar,有各种操作项,但它不是始终显示的ActionBar,它需要上下文才显示.样式如下: 二.Context Action Bar的 ...

  8. Android官方文档翻译 十 2.3Styling the Action Bar

    Styling the Action Bar 设计菜单栏的样式 This lesson teaches you to 这节课教给你 Use an Android Theme 使用一个Android主题 ...

  9. Android 自定义title 之Action Bar

    Android 自定义title 之Action Bar 2014-06-29  飞鹰飞龙...  摘自 博客园  阅 10519  转 25 转藏到我的图书馆   微信分享:   Action Ba ...

随机推荐

  1. 开源服务专题之--------mysql的编译安装

    为什么选择MySQL 1:mysql性能卓越,服务稳定,很少出现异常宕机 2:mysql开源免费,无版权制约,自主性及使用成本低 3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是ph ...

  2. OpenJudge4980:拯救行动//stl优先队列

    总时间限制:  10000ms 内存限制:  65536kB 描述 公主被恶人抓走,被关押在牢房的某个地方.牢房用N*M (N, M <= 200)的矩阵来表示.矩阵中的每项可以代表道路(@). ...

  3. 用原生JS读写CSS样式的方法总结

    为了日后方便查询,本人翻阅了一些资料总结了以下方法,仅限原生JS,如有不对的地方欢迎指出!只求大家看完觉得有学到点什么就OK了!   一.可以通过DOM节点对象的style对象(即CSSStyleDe ...

  4. [译]学习IPython进行交互式计算和数据可视化(五)

    第四章:交互式绘图接口 本章我们将展示Python的绘图功能以及如何在IPython中交互式地使用它们. NumPy为处理大量的多维数组结构的数据提供了高效的方法.但是看行行列列的数字总不如直接看曲线 ...

  5. 呼叫外部js文件并使用其内部方法

    很久没有学习jQuery了,都快忘记了.今天学习一个小功能,使用jQuery的$.getScript()方法,是读取外部js文件,读取之后,并执行js文件内的一个方法. 首先我们创建这个js文件,如i ...

  6. CIO:让IT成为企业的一种竞争优势

    在你的公司,IT是将自己视为服务提供者,业务部门的合作伙伴,还是创新驱动者?其他部门的领导者是怎么看待IT的?在老板的眼里,IT是如何的一个定位?在过去一年的,身为企业的CIO,你是否知道哪些应用或新 ...

  7. SUI分页组件和avalon搞定ajax无刷新分页

    <div ms-controller="main"> <h2 class="pagination-centered">{{ title ...

  8. html5学习笔记(2)

    效果图 以下为源码 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...

  9. spring笔记4 spring MVC的基础知识4

    //todo 5,spring MVC的本地化解析,文件上传,静态资源处理,拦截器,异常处理等 spring MVC 默认使用AcceptHeaderLocalResolver,根据报文头的Accep ...

  10. PHP旧系统基于命名空间重构经验

    命名空间其实只是一个形式,最终目的是重构代码,但这个过程想要一蹴而就是不可能的. 一开始给了一个伪命题:基于ThinkPHP的重构(不要问为什么).经过一段的实践,发现这是一个大错特错的思维方式,其中 ...