添加ActionBar:

  Android 3.0(API 11)(不含API11)以下的版本中,如果需要活动有ActionBar,需要让活动继承ActionBarActivity类,并且在Manifest.xml文件中对应活动的注册信息中添加主题属性。比如要让MainActivity有ActionBar,需要:

  第一步,让MainActivity继承ActionBarActivity类

  public class MainActivity extends ActionBarActivity { ... }

  第二步,在MainActivity的注册信息中添加主题属性,像下面这样:

  <activity  android:name=".MainActivity"

  android:theme="@style/Theme.AppCompat.Light" ... >

  从 Android 3.0(API 11)开始,ActionBar被添加到Activity中,并且默认使用Theme.Holo主题,所以如果targetSdkVersion设置的不小于11,只需要继承Activity类,活动就会有ActionBar。

隐藏ActionBar:

  如果需要隐藏ActionBar,可以在活动的注册信息中将主题设置为Theme.NoTitleBar,如下:

<activity
android:name=".MainActivity"
android:theme="@android:style/Theme.NoTitleBar"
… >

  如果要隐藏ActionBar和通知栏,相当于全屏,可以将主题设置成Theme.NoTitleBar.Fullscreen,如下:

<activity
android:name=".MainActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen "
… >

  在Android3.0(API11)及以上的版本中,还可以这样,如果某个活动需要隐藏(或显示)ActionBar,可以:

ActionBar actionBar = getActionBar();
actionBar.hide();
actionBar.show();

ActionBar标题文本

  标题文本是靠活动的注册信息中android:label属性控制的,比如:

<activity android:name=".DisplayMessageActivity"
android:label="@string/title_activity_display_message" />

标题栏返回按钮

  类似于下图这种效果。

  假设要给DisplayActivity增加这种返回按钮,点击后返回MainActivity。

  首先需要将DisplayActivity的ParentActivity设置为MainActivity,在活动注册信息中设置:

<activity
android:name=".DisplayActivity"
android:label="@string/title_activity_display"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>

  android:parentActivityName=".MainActivity"适用于API16及以上的SDK,为兼容16以下的SDK,还需要添加下面的

<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />

  然后在DisplayActivity的onCreate()函数中添加getSupportActionBar().setDisplayHomeAsUpEnabled(true);语句启用返回按钮,如果minSdkVersion不小于11,则将上面那句替换为这句:

getActionBar().setDisplayHomeAsUpEnabled(true);

  以前写关于返回按钮的笔记的时候,并没有成功做出返回按钮,因为当时实验时用的SDK版本比较低,所以直接只用了

<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />

  后来发现返回无效,单独只用android:parentActivityName=".MainActivity"也是无效的,今天两个放一起合用,返回按钮才起作用了。

关于ActionBar的更多相关文章

  1. Android中通过ActionBar为标题栏添加搜索以及分享视窗

    在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果.Action ...

  2. Android 添加ActionBar Buttons

    一.在res/menu文件夹下创建Xml文件 跟标签为menu,设置item <?xml version="1.0" encoding="utf-8"?& ...

  3. mono for android 自定义titleBar Actionbar 顶部导航栏 修改 样式 学习

    以前的我是没有做笔记的习惯的,学习了后觉得自己能记住,但是最近发现很多学的东西都忘记了,所有现在一有新的知识,就记下来吧. 最近又做一个mono for android 的项目 这次调整比较大,上次做 ...

  4. Xamarin.Android之ActionBar与菜单

    一.选项卡 如今很多应用都会使用碎片以便在同一个活动中能够显示多个不同的视图.在Android 3.0 以上的版本中,我们已经可以使用ActionBar提供的Tab来实现这种效果,而不需要我们自己去实 ...

  5. 自定义ActionBar标题与菜单中的文字样式

    自定义标题文字样式 标题样式是ActionBar样式的一部分,所以要先定义ActionBar的样式 <style name="AppTheme" parent="A ...

  6. ActionBar设置自定义setCustomView()留有空白的问题

    先来看问题,当我使用ActionBar的时候,设置setCustomView时,会留有空白的处理 网上很多朋友说可以修改V7包到19,结果处理的效果也是不理想的. 下面贴出我觉得靠谱的处理代码 pub ...

  7. Android ActionBar 初探

    1.指南,例子,个人感觉 首先上官网指南链接http://developer.android.com/guide/topics/ui/actionbar.html 参考了官网上的例子http://de ...

  8. Menu与ActionBar的爱恨情仇

    最近在开发一款音乐播放器,在开发过程中遇到了一点小麻烦,通过android API搞清楚了Menu与ActionBar的爱恨情仇,写了个小Demo祭奠一下那些年我们陷进去的坑,有不对的地方请大神们批评 ...

  9. ANDROID中去掉ACTIONBAR或TABWIDGET的分隔线

    在android中,有时需要对ActionBar或者TabWidget的分隔线进行定制,如取消,相关的属性设置为android:divider 以TabWidget为例,取消对应的函数: tabWid ...

随机推荐

  1. HTTP请求方法详解

    HTTP请求方法详解 请求方法:指定了客户端想对指定的资源/服务器作何种操作 下面我们介绍HTTP/1.1中可用的请求方法: [GET:获取资源]     GET方法用来请求已被URI识别的资源.指定 ...

  2. 在C#中,Json的序列化和反序列化的几种方式总结

    在这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象. 什么是JSON? JSON (JavaScript Object Notation) ...

  3. SSL介绍与Java实例

    有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能 ...

  4. 用户反馈:对 Rafy 开发框架的一些个人建议

      这篇文章是去年 Rafy 框架发布后,许胜平先生为我提出的一些建议.他从用户群体分析.社区.商业模式.技术支持等方面对框架发展提出了建议,我觉得写得非常不错.此文不仅适用于 Rafy 框架,所以不 ...

  5. C# 热敏打印机 Socket 网络链接 打印 图片 (一)

    using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using Syste ...

  6. java对email邮箱的真实、有效性验证

    三种验证邮箱有效性的方式: 方式1: public static boolean checkEmail(String email) {     if (!email.matches("[\\ ...

  7. Java Web项目RSA加密

    最近做的一个项目,服务器为Java,采用SSH框架,客户端为Android和IOS.当用户登录时,从客户端向服务器提交用户名和密码.这就存在一个问题,如果数据包在网络上被其他人截取了,密码就有可能泄露 ...

  8. ABP 初探 之 权限设计

    大.小项目都要设计权限,都想设计一个通用的权限,把权限做的比较复杂,现在了解了ABP的设计思路,觉得设计很简单,但实现方法与思路耐人寻味. 本篇只介绍AbpPermissions的数据库设计,其它表结 ...

  9. Promise和$.Deferred总结

    语法对比: Promise .then(f).catch(f)是.then(f,f)的语法糖 .all([A,B,C])等最慢的     .race([A,B,C])最快的 $.Deferred .d ...

  10. H5与CS3权威上.5 绘制图形(1)

    1.canvas元素基础知识 (1)在页面上放置canvas元素,相当于在页面上放置一块"画布",可以用Javascript编写在其中进行绘画的脚本. (2)在页面中放置canva ...