当需要在 android 7或更高的版本使用 ActionBar,则可以通过继承ActionBarActivity来实现,

网上有一个开源项目来兼容老版本显示ActionBar的效果:ActionBarSherlock。

使用android.support.v7 来实现ActionBar感觉会更简单一些。

android.support.v7 有三个jar文件可供使用,对于ActionBar我们需要使用android-support-v7-appcompat.jar

路径:...\sdk\extras\android\support\v7\appcompat\libs

但是直接把这个jar  导入项目是不可以使用的,具体的步骤:

1. 把appcompat 工程导入eclipse  [appcompat是一个 library project] ,路径:...\sdk\extras\android\support\v7\appcompat\

导入之后的项目:

2.导入appcompat工程的时候,记得要  Copy projects into workspace

3.创建你自己的工程,如myDemo,右键单击该工程,选择Properties

在弹出的对话框中,选择Android选项卡,然后点击Add按钮,添加appcompat工程。

然后 OK 就可以了,我们的工程就引用了 support V7库工程了。

4.在manifest文件中,为你使用了ActionBar的actitity添加theme属性,这个theme必须是 @style/Theme.AppCompat 或它的子类

如:

5.在res/menu目录下,修改Menu对应的xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:alpha="http://schemas.android.com/apk/res-auto" > <item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:icon="@drawable/ic_launcher"
alpha:showAsAction="ifRoom|withText"
android:title="@string/action_settings"/> </menu>

需要注意的是:

xmlns:alpha="http://schemas.android.com/apk/res-auto"  和  alpha:showAsAction="ifRoom|withText"

他们的 alpha 要一致哦,相当于自定义一个命名空间,名字可以随意,但要一致。

感觉这样的含义:如果直接使用android:showAsAction,但对于早期的版本来说android命名空间下不存在这个属性,就不能看到ActionBar的效果,而这个属性的定义存在于support V7 里面,所以可以兼容之前的版本。

6.继承 ActionBarActivity  处理ActionBar

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu; public class MainActivity extends ActionBarActivity{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }

本文转自:http://blog.csdn.net/go_to_learn/article/details/10230987

android 使用android.support.v7 添加ActionBar的更多相关文章

  1. Android项目使用support v7时遇到的各种问题

    Android项目使用support v7时遇到的各种问题 点击你的工程右键-->Properties-->Android 1.查看你引用的appcompat_v7包是否引用正确 2.用较 ...

  2. android.support.v7.app.AppCompatActivity

    1.Android Studio (api 23) 新建项目的时候 Activity public class MainActivity extends AppCompatActivity 2.系统默 ...

  3. [android]com.android.support:appcompat-v7:XXX 包导入无法Build

    在学习<Android编程权威指南>时,按书中要求添加com.android.support:appcompat的依赖,然后编译不通过,提示如下问题: 大概意思是,Android Pie之 ...

  4. 【Android】Android之Action Bar

    Action Bar是在窗口上指示用户位置的组件,同时给用户提供导航和操作.使用Action Bar可以让你的应用在不同配置的屏幕上看起来比较一致.在开始之前,先了解一些相关的术语: Action B ...

  5. 〖Android〗Android源代码所有目录生成的Target(编译生成文件反查)

    => build/tools/zipalign: out/host/linux-x86/bin/zipalign (host) => build/tools/atree: out/host ...

  6. Android Support V7 包中 ActionBar的使用

    以下示例为API<11,因为API>=11时本来就有ActionBar可以使用,所以不猜讨论范围之内 今天Google发布了最新的API 18,包括众多新的性能,正好最近在研究Action ...

  7. 配置android.support.v7.widget.Toolbar 搜索框样式

    AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...

  8. classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar问题的解决方法

    转载至----http://my.oschina.net/u/2425146/blog/546649?fromerr=aDYrFDVx.仅作个人收藏使用,有转载的朋友请连续原作者,谢谢 刚刚进入stu ...

  9. 【转】Caused by: java.lang.NoClassDefFoundError: android.support.v7.gridlayout.R$dimen 异常解决方法

    在使用gridlayout中遇到 Caused by: java.lang.NoClassDefFoundError: android.support.v7.gridlayout.R$dimen 问题 ...

随机推荐

  1. swing容器继承重绘问题解决

    swing容器继承重绘问题解决   以JPanel为例,继承JPanel,想动态为器更换背景,这就涉及到重绘问题.一下是本人重写代码: package ui; import java.awt.Grap ...

  2. WPF ItemsControl 控件支持鼠标滚轮滑动

    此文章意在解决在WPF中ItemsControl类型的集合控件支持鼠标滚轮操作,并可控制滚动的速度. 第一步:给ItemsControl添加滚轮事件. this.listBox.AddHandler( ...

  3. SpringMVC的文件上传

    首先导入jar包 在springMVC里面配置文件上传,以及限定上传文件的大小  <bean id="multipartResolver" class="org.s ...

  4. UVA 11300 Spreading the Wealth (数学推导 中位数)

    Spreading the Wealth Problem A Communist regime is trying to redistribute wealth in a village. They ...

  5. 浪潮MegaCli

    再总结: 一般,清RAID再做RAID,安装完毕后: ./MegaCli64 -PDList -aALL | egrep 'Slot|Enclosure Device'                 ...

  6. IIS原理学习

    IIS 原理学习 首先声明以下内容是我在网上搜索后整理的,在此只是进行记录,以备往后查阅只用. IIS 5.x介绍 IIS 5.x一个显著的特征就是Web Server和真正的ASP.NET Appl ...

  7. centos 6.5 安装jenkins

    Installation sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.rep ...

  8. PAT 1065 A+B and C (64bit) (20)

    1065. A+B and C (64bit) (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming G ...

  9. 高性能网络I/O框架-netmap源码分析

    from:http://blog.chinaunix.net/uid-23629988-id-3594118.html 博主这篇文章写的很好 感觉很有借签意义 值得阅读 高性能网络I/O框架-netm ...

  10. 深入了解relative

    1.relative是自身定位,距原本位置的偏移 2.无侵入布局: 挪动位置,原本位置还在占据,并不会影响其他元素的布局   应用: 实现鼠标拖拽,比自身api好用 3.top/bottom 和 le ...