zoukankan      html  css  js  c++  java
  • android中Actionbar详解

    1、什么是Action Bar
    Action Bar被认为是新版Android系统中最重要的交互元素,在程序运行中一直置于顶部,主要起到的作用在于:
    1)突出显示一些重要操作(如“最新”、“搜索”等)
    2)在程序中保持统一的页面导航和切换方式
    3)将使用频率低的功能放在Action overflow中,节省页面空间
    4)一个固定区域显示程序标示

    2、Action Bar分成四个区域
    App Icon:可显示软件icon,也可用其他图标代替。当软件不在最高级页面时,图标左侧会显示一个左箭头,用户可以通过这个箭头向上导航。
    视图切换:如果你的应用要在不同的View中显示数据,这部分允许用户来切换View。一般的作法是用一个drop-down菜单或者是Tab Controls。如果只有一个界面,那这里可以显示App Title或者更长点的商标信息
    Action Buttons:这个放最重要的软件功能,放不下的按钮就自动进入Action overflow了。
    Action overflow:把不常用的Actions移到Action overflow

    3、屏幕旋转及不同分辨率适配
    写一个应用时一个重要的UI 问题就是如何适应屏幕旋转和不同尺寸的屏幕。你可以通过使用split action bars来适应这种变化,
    就是把action bar 内容拆分到不同的bars里,拆分后一般包含三个部分:
    Main action bar:用户可以通过main action bar导航至上一级,因此这个操作条是必须的;
    Top bar:当页面上有不同的内容视图时,可在这个条上使用TAB或spinner下拉菜单的形式切换;
    Bottom bar:要展现更多操作和功能,在页面最下端排列

    4、Contextual Action Bar (CAB)

    “上下文操作栏” (contextual action bar,CAB) 是一个浮于操作栏上的临时操作栏,用来放置一些特定的子任务。“上下文操作栏”一般在项目选择和文字选择时出现。


    浏览器和 Gmail 应用中的上下文操作栏

    长按可选择的内容,进入选择模式,显示上下文操作栏。

    此时用户可以:

    • 通过触摸选择项目。
    • 在上下文操作栏中选择操作,并应用于所有已选项目。之后上下文操作栏自动消失。
    • 通过导航栏的“返回”按钮关闭上下文操作栏,也可以通过点击上下文操作栏的选择图标关闭它。关闭上下文操作栏的同时要取消所有的选择。

    当您让用户长按来选择项目时,需要使用上下文操作栏。您可以控制上下文操作栏中的图标,使用户可以执行不同的操作。


     

    5、Action Bar包含元素
    1)Tabs
    如果希望用户经常在几个部分间切换,可以使用Tabs。有两种Tabs:固定的(fixed)跟可滑动的(scrollable)
    Scrollable: 经常占据整个Bar的宽度,当前的活动View在中间位置,因此需要在一个专用的Bar里。可以自己水平的scroll,来显示更多其他的view。使用 情况:如果有很多的Views或者你不确定有多少Views,因为可能是动态添加的。Scrollable Tabs应该总是允许用户通过左右Swipe来切换Views。





    Fixed Tabs:将所有标签显示在屏幕上,当方向变化时,它可能会被移动到Top bar位置去。




    2)Spinners下拉框
    官方给出使用spinner而不用tab的情况:
    当不希望tab占据太多页面竖直方向上的空间
    当用户认为不需要经常在视图之间切换时




    3)Action buttons
    要分清楚哪些Action是经常使用的,并根据这个来安排它们的位置。应该显示最常用的Actions,把其他不是常用的放到overflow里。
    如果一个Action在当前不被使用,把它隐藏掉,而不是显示为不能用。
    使用FIT表来分辨优先级。如果FIT中有一个适用,就把它放到Action bar,否则就放到Action overflow里。
    F – Frequent 高频
    当用户在这个页面时,是否10次中至少有7次会使用这个按钮?
    用户是否通常要连续使用很多次?
    如果每次使用该功能都要多一步操作,会不会很繁琐?
    I – Important 重要
    你是否希望每个用户都能发现这个功能,或者因为它很酷或者是你的卖点?
    你是否认为当需要用到这个按钮时,应该很容易触及?
    T – Typical 典型
    在相似的软件中,这个功能是不是通常是的最重要操作?
    在上下文环境下,如果这个操作按键被埋在overflow中,用户会不会惊讶?
    下面的链接里包含一些系统自带操作的图标素材,针对不同屏幕分辨率,可以使用在Holo Light和Holo Dark主题中;
    另外包括图标的Adobe Illustrator源文件可供自行修改。
    4)Action overflow
    Action overflow中存放并不会频繁用到的操作。按照官方网页上的说法,“Overflow图标仅显示在没有MENU硬按键的手机上,而对于有MENU键的手机,
    overflow图标是不显示的,当用户点击MENU按键时弹出。”这样的说法比较蹊跷,似乎和Google敦促手机厂商及软件开发商取消MENU的行为不相匹配。


    6、Action bar上可以放下多少操作按钮?

    如果操作按钮和软件标题等放在一排,放按钮的空间只能最多占用一半空间,如果按钮采用屏幕底部的整行action bar则可以使用整个屏幕宽度。

    屏幕宽度值Density-independent Pixels(dp)决定可以放置的图标数:
    少于360 dp = 2个图标
    360-499 dp = 3个图标
    500-599 dp = 4个图标
    多于600 dp = 5个图标

    本文参考:http://developer.android.com/design/patterns/actionbar.html

    欢迎转载,但请注明出处与作者

    出处:http://blog.sina.com.cn/staratsky

    作者:流星

  • 相关阅读:
    123. Best Time to Buy and Sell Stock III (Array; DP)
    122. Best Time to Buy and Sell Stock II (Array;Greedy)
    121. Best Time to Buy and Sell Stock (Array;DP)
    38. Count and Say (String; DP)
    60. Permutation Sequence (String; Math)
    内存中的堆栈
    42. Trapping Rain Water (Array,stack; DP)
    84. Largest Rectangle in Histogram (Array, Stack; DP)
    85. Maximal Rectangle (Graph; Stack, DP)
    Effective C++ .44 typename和class的不同
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/3559822.html
Copyright © 2011-2022 走看看