在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. Codeforces Round #254 (Div. 1)-A,B

    A:选取两点一边就能够了,非常明显能够想出来... 可是一開始看错题了,sad.... #include<stdio.h> #include<string.h> #includ ...

  2. Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇)

    原文:Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇) 老话说的好:好记心不如烂笔头! 本着这原则,我把最近工作中遇到的jquery利用ajax调用web服务的 ...

  3. 在Java中如何使用jdbc连接Sql2008数据库(转)

    我们在javaEE的开发中,肯定是要用到数据库的,那么在javaEE的开发中,是如何使用代码实现和SQL2008的连接的呢?在这一篇文章中,我将讲解如何最简单的使用jdbc进行SQL2008的数据库的 ...

  4. Android基于cordova3.3插件开发

    最近的工作项目,需要使用cordova插件开发,详细Cordova角色,不会走,你可以去百度自身OK该,直接启动.详细过程,我有一个小Demo解说提前进行. 还只是接触,东西太理论基础,我也不太清楚, ...

  5. 安装pygame

    pygame的安装 我们首先要去到:http://www.pygame.org/download.shtml 下载我们所需要的软件包: 我选择的是:pygame-1.9.2a0.win32-py3.2 ...

  6. 努比亚 Z5 mini刷机包 omni4.4.2改动V4.0 自用版 精简 MIUI特效

    ROM介绍: 第一版: 1.基于lwang适配的omni4.4.2第二版改动,少量精简改动 2.设置加入"自启项管理",体验更快.更顺滑 3.替换特效为XUI特效 4.改动host ...

  7. C++ 复制功能

    C++ 复制功能 说C++复制功能,它可能不是很熟悉.类中的拷贝构造函数和赋值操作符.可是其实或许我们一不小心就会忽略编译器所做的一些默认操作.引起晦涩的错误.以下分析几种场景: 一.场景一:所有默认 ...

  8. 【Unity Shaders】使用Unity Render Textures实现画面特效——画面特效中的亮度、饱和度和对照度

    本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码 ...

  9. Ubuntu下安装vmware 9.0 + 注册码

    先附上一些注册码到时使用: NA0UF-DUH00-QZHM0-MU17K-CC824 4F469-F024Q-CZ8R9-DL1N0-13C6W HF261-0HL40-FZX21-F9AQ2-0C ...

  10. ACE定时器

    每一秒钟打印一行 http://www.tuicool.com/articles/Zb263e 计时器的打开和关闭封装 http://andylin02.iteye.com/blog/440572 自 ...