在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. auto_ptr and scoped_ptr

    #include "boost/scoped_ptr.hpp" #include <iostream> #include <memory>//contain ...

  2. 八.使用OpenCv图像平滑操作

    1.cvSmooth函数 函数 cvSmooth 可使用简单模糊.简单无缩放变换的模糊.中值模糊.高斯模糊.双边滤波的不论什么一种方法平滑图像.每一种方法都有自己的特点以及局限. 没有缩放的图像平滑仅 ...

  3. U6Linux的文件权限与目录配置

    1.ll查看文件信息:[权限][连接][所有者][用户组][文件容量][修改日期][文件名] 2.第一个字符代表文件的属性:若为[d]则是目录.若为[-]则是文件.若为[l]则为连接. 3.chgrp ...

  4. 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具

    目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.z ...

  5. C#之再议数组和集合

    1.数组 1.1简单数组 1.2 多维数组 1.3锯齿数组 1.4Array数组 1.5作为参数的数组 1.6枚举 1.7结构 以上部分可参考 http://www.cnblogs.com/ztb12 ...

  6. jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

    jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令   公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jma ...

  7. LeetCode: Valid Palindrome [125]

    [题目] Given a string, determine if it is a palindrome, considering only alphanumeric characters and i ...

  8. 促销R语言应用性能

    1.       绩效评估 时间的确定 R测量时间是在最简单的方式提供是system.time性能. system.time(expr, gcFirst=TRUE) 这个函数会在不减少程序执行性能的情 ...

  9. Visual Studio Code中配置GO开发环境

    在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...

  10. 深入浅出KnockoutJS

    深入浅出KnockoutJS 写在前面,本文资料大多来源网上,属于自己的学习笔记整理. 其中主要内容来自learn.knockoutjs.com,源码解析部分资料来自司徒正美博文<knockou ...