在action bar最今本的形式中,它只在左边展示了activity的标题以及应用的icon。

即使在这样的简单的形式中,它也不过告诉用户如今在应用的哪个activity中,同一时候为你的应用保持一个标识。

图1. 一个展示应用icon和activity标题的action bar

设置一个主要的action bar须要你的应用使用支持action bar的主题。怎样来请求这种主题要看你所选择的你的应用最低支持的Android版本号。因此本课会依据应用支持的不同的Android最低版本号分为两个部分。

支持Android 3.0及以上版本号


从Android 3.0 (API level 11)開始,全部的activity都使用的是Theme.Holo主题
(或者它的子主题),包括了action bar,在你的targetSdkVersion 或者minSdkVersion 属性被设置为11或者更高时,Theme.Holo主题是应用默认主题。

所以要为你的activity加入action bar,仅仅须要简单的这是上面当中一种属性为11或者更高。

例如以下所看到的:

<manifest ... >
    <uses-sdk android:minSdkVersion="11" ... />
    ...
</manifest>

提示: 假设你创建了一个自己定义的主题,要确保它是Theme.Holo 主题的子主题。很多其它信息,请查看Styling
the Action Bar

就这样,如今你的应用已经使用了Theme.Holo 主题,你的全部activity中都会显示action
bar了。

支持Android 2.1及以上版本号(低于Android 3.0)


要在执行在Android 3.0 (低至2.1) 版本号的设备上的应用上加入action bar,须要在应用中导入Android Support Library 。

作为開始。阅读Support Library Setup 文档,同一时候加入v7 appcompat 库
(当你下载完support包后,依据Adding libraries with resources 说明文档来导入)。

一旦你的应用项目整合了Support Library :

  1. 让你的activity继承ActionBarActivity。比如:

    public class MainActivity extends ActionBarActivity { ... }
  2. 在你的manifest 文件里,在你的<application> 元素或者独立的<activity> 元素中使用Theme.AppCompat 主题。比如:
    <activity android:theme="@style/Theme.AppCompat.Light" ... >

    提示: 假设你创建了一个自己定义主题,确保它是Theme.AppCompat 主题的子主题。详情请阅读Styling
    the Action Bar

如今你的执行在Android 2.1 (API level 7) 或更高版本号的应用的activity中也包括了action bar了。

记住要争取额的设置你的应用支持的android API版本号:

<manifest ... >
    <uses-sdk android:minSdkVersion="7"  android:targetSdkVersion="18" />
    ...
</manifest>

译者注:通过最新版ADT创建的应用。假设设置的应用最低支持Android版本号为2.2或更高(低于3.0),ADT会自己主动导入Support包(v7
appcompat
 库)。參考:http://blog.csdn.net/sweetvvck/article/details/38345671http://blog.csdn.net/sweetvvck/article/details/38346547

Android学习路径(七)建立Action Bar的更多相关文章

  1. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  2. Android学习路径(十)如何将Action Bar堆放在布局

    默认情况下,action bar出如今activity窗体的顶部,稍微降低了activity布局的总空间.假设你想隐藏或者显示action bar,在这堂用户体验的课程中,你能够通过调用hide()  ...

  3. Android学习路径(十)怎么会Action Bar堆放在布局

    默认情况下.action bar出如今activity窗体的顶部.稍微降低了activity布局的总空间. 假设你想隐藏或者显示action bar.在这堂用户体验的课程中,你能够通过调用hide() ...

  4. 学习android文档 -- Adding the Action Bar

    1. Setting Up the Action Bar:users-sdk version 11以上可以使用holo主题:如果不使用holo主题,或者sdk版本较低,则需要在manifest文件的& ...

  5. android学习笔记七——控件(DatePicker、TimePicker、ProgressBar)

    DatePicker.TimePicker ==> DatePicker,用于选择日期 TimePicker,用于选择时间 两者均派生与FrameLayout,两者在FrameLayout的基础 ...

  6. Android学习路径——Android的四个组成部分activity(一)

    一.什么是Activity? Activity简单的说就是一个接口.我们是Android手机上看到的每个界面就是一个activity. 二.Activity的创建 1.定义一个类继承activity, ...

  7. 【Android】完善Android学习(七:API 4.0.3)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  8. Android学习路径(22)应用Fragment建立动态UI——构建一个灵活UI

    当你设计你的应用来支持多个屏幕尺寸.你能够基于可用的屏幕空间通过在不同的布局上重用fragment来优化用户体验. 比如,在一个手机上.使用单面板(一次仅仅显示一个fragment)的用户体验更加合适 ...

  9. Android学习路径(23)应用Fragment建立动态UI——Fragment之间的通信

    为了要重用Fragment的UI组件.你应该为它们每个都构建一个完整独立的,模块化的组件来定义他自身的布局和行为. 一旦你定义了这些可重用的Fragments.你能够通过activity关联它们同一时 ...

随机推荐

  1. Android四个多线程分析:MessageQueue实现

    Android四个多线程分析:MessageQueue的实现 罗朝辉 (http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 在前面两篇文章<Android多线 ...

  2. WebSocket API

    WebSocket API 这一章介绍如何用WebSocket API来控制协议和创建应用,运用http://websocket.org 提供的现有WebSocket服务器,我们可以收发消息.创建一些 ...

  3. 算法学习 - 图的广度优先遍历(BFS) (C++)

    广度优先遍历 广度优先遍历是非经常见和普遍的一种图的遍历方法了,除了BFS还有DFS也就是深度优先遍历方法.我在我下一篇博客里面会写. 遍历过程 相信每一个看这篇博客的人,都能看懂邻接链表存储图. 不 ...

  4. cocos2d-x 3.2 它 三消游戏——万圣节大作战

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  5. (step7.2.1)hdu 1395(2^x mod n = 1——简单数论)

    题目大意:输入一个整数n,输出使2^x mod n = 1成立的最小值K 解题思路:简单数论 1)n可能不能为偶数.因为偶数可不可能模上偶数以后==1. 2)n肯定不可能为1 .因为任何数模上1 == ...

  6. Oracle SQL Lesson (7) - 使用子查询

    使用子查询简单子查询SELECT select_listFROM tableWHERE expr operator (SELECT select_list FROM table);子查询可以出现在se ...

  7. ios01

    http://code4app.com/ 0.全部Swift http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/ ...

  8. 重新想象 Windows 8 Store Apps (14) - 控件 UI: RenderTransform, Projection, Clip, UseLayoutRounding

    原文:重新想象 Windows 8 Store Apps (14) - 控件 UI: RenderTransform, Projection, Clip, UseLayoutRounding [源码下 ...

  9. Matlab强迫症产生的图像

    最近流行的网络迷恋的照片做头像,闲来无事,取matlab获取一个建设者,它可以产生包括0-9以及99+OCD. 原理很easy,图叠加,这里为了降低文件,将数字图片保存在.mat二进制文件里. === ...

  10. SP2010 3D标签云Web部分--很酷的效果,强烈推荐!!

    SP2010 3D标签云Web部分--很酷的效果.强烈推荐! ! 项目描述叙事         基于简单Flash的3D标签云Web部件.SP Server 2010使用. 建立在内置标签云Web部件 ...