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

原文链接:http://developer.android.com/training/basics/actionbar/setting-up.html


配置Action Bar

Action Bar最基本的形式,是用来为Activity展示标题,并在左侧显示应用的图标。即使是这样的简单的形式,Action Bar对于所有activity来说依然是非常有用的,因为它可以用来告知用户他们现在所处的位置,同时还能为你的应用保持着一个一致的标识。

图1. 一个具有应用图标和Activity标题的Action Bar

配置一个基本的Action Bar需要你的应用使用一个支持Action Bar的Activity主题。如何获取这样的一个主题取决于你的应用支持的最低Android版本。所以,这节课根据系统平台版本的不同被分成了两个部分。

一). 支持Android 3.0及以上

从Android 3.0(API Level 11)开始,所有使用Theme.Holo主题的Activity都会包含Action Bar(或者包含它的一种衍生产物),这一主题是当targetSdkVersion或者minSdkVersion属性字段被设置成11或更高时的默认主题。

所以为了将Action Bar添加至你的应用,只需简单地将这两个属性字段的任意一个设置为11或更高就行了,例如:

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

Note:

如果你创建了一个自定义主题,那么请确保它是以Theme.Holo为父类的主题。更多信息,可以阅读:Styling the Action Bar

现在你的App已经应用了Theme.Holo主题,并且所有相关的activity都显示了Action Bar,就是这样!

二). 支持Android 2.1及以上

要在Android 3.0以下(最低可以是Android 2.1)的设备上运行并且添加Action Bar需要你在你的应用中添加Android Support Library。

在开始之前,请先阅读:Support Library Setup然后配置v7 appcompat库(一旦你下载好了这个库,按照Adding libraries with resources中的指引一步步做)。

当你将Android Support Library集成到你的项目工程以后:

  1. public class MainActivity extends ActionBarActivity { ... }
  1. <activity android:theme="@style/Theme.AppCompat.Light" ... >

Note:

如果你创建了一个自定义主题,那么请确保它是以Theme.AppCompat为父类的主题。更多信息,可以阅读:Styling the Action Bar

现在当你的应用在Android 2.1(API Level 7)或更高版本的设备上运行时,就拥有过了Action Bar

别忘了在清单文件中正确设置你的应用所支持的API Level:

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

【Android Developers Training】 6. 配置Action Bar的更多相关文章

  1. 【Android Developers Training】 5. 序言:添加Action Bar

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

  2. 【Android Developers Training】 9. 覆盖于布局之上的Action Bar

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

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

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

  4. 【Android Developers Training】 7. 添加Action Buttons

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

  5. 【Android Developers Training】 34. 添加一个简单的分享行为(Action)

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

  6. 【Android Developers Training】 15. 启动一个Activity

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

  7. 【Android Developers Training】 52. 打印照片

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

  8. 【Android Developers Training】 20. 创建一个Fragment

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

  9. 【Android Developers Training】 4. 启动另一个Activity

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

随机推荐

  1. 每天一道Java题[5]

    题目 String.StringBuilder.StringBuffer有什么异同? 解答 相同点:String.StringBuilder.StringBuffer都可以用来存储字符串. 不同点: ...

  2. gitlab 添加SSH Key

    1.登录http://domain/users/sign_in 2.选择"Profile Settings",进入"Profile Settings"设置页面 ...

  3. OpenCV探索之路(九):模板匹配

    模板匹配的作用在图像识别领域作用可大了.那什么是模板匹配? 模板匹配,就是在一幅图像中寻找另一幅模板图像最匹配(也就是最相似)的部分的技术. 说的有点抽象,下面给个例子说明就很明白了. 在上面这幅全明 ...

  4. dbunit进行DAO层Excel单元测试

    DAO层测试难点 可重复性,每次运行单元测试,得到的数据是重复的 独立性,测试数据与实际数据相互独立 数据库中脏数据预处理 不能给数据库中数据带来变化 DAO层测试方法 使用内存数据库,如H2.优点: ...

  5. java面向对象--类加载器及Class对象

    类加载器 jvm 和 类的关系 当调用 java命令运行一个java程序时,会启动一个java虚拟机进程.同一个jvm的所有线程.所有变量都处于同一个进程里,都使用该jvm进程的内存区. jvm进程终 ...

  6. (数字IC)低功耗设计入门(四)——RTL级低功耗设计

    二.RTL级低功耗设计 前面介绍了系统级的低功耗设计,换句话说就是在系统级降低功耗可以考虑的方面.系统级的低功耗设计,主要是由系统级设计.具有丰富经验的人员实现,虽然还轮不到我们设计,我们了解一下还是 ...

  7. Java微服务框架

    Java的微服务框架dobbo.spring boot.redkale.spring cloud 消息中间件RabbitMQ.Kafka.RocketMQ

  8. stickUp.js:98 Uncaught ReferenceError: vartop is not defined at HTMLDocument.<anonymous> (stickUp.js:98)

    附加var vartop = 0;在var topMargin = 0;这之后,这里是我附加的代码:$(document).ready(function(){ var contentButton = ...

  9. react 热替换 ([HMR])

    react 热替换 ([HMR]) 热替换好多地方可以用到,目前比较流行的用法是搭配React和webpack实现在不刷新页面的情况下对模块的增删改.在给项目添加热替换功能的时候,可以说是踩了各种坑, ...

  10. 【JAVAEE学习笔记】hibernate02:实体规则、对象状态、缓存、事务、批量查询和实现客户列表显示

    一.hibernate中的实体规则 实体类创建的注意事项 1.持久化类提供无参数构造 2.成员变量私有,提供共有get/set方法访问.需提供属性 3.持久化类中的属性,应尽量使用包装类型 4.持久化 ...