Android Action Bar简介

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

 

原文地址:https://www.cnblogs.com/mengdd/p/3442570.html