当需要在 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文件:

    

需要注意的是:

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{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic 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;}}



更多相关文章

  1. Android(安卓)Studio导入AOSP项目
  2. android+eclipse+phonegap1.7(cordova)配置项目 .
  3. eclipse 上使用recycleview,cardview的办法
  4. Android(安卓)Studio运行安卓程序报Failure [INSTALL_FAILED_OLD
  5. Error:(1, 0) Cause: com/android/build/gradle/LibraryPlugin :
  6. CyanogenMod 编译 Google Nexus S ("crespo") 全过程
  7. Android(安卓)studio 使用问题汇总
  8. Android(安卓)Studio部分汉化中文包
  9. Android自定义action与permission

随机推荐

  1. WINDOWS下ECLIPSE ANDROID源码SETTINGS模
  2. Android(安卓)GPS学习 (一) :GPS 启动流程
  3. android 动态设置Activity 的切换方向
  4. Android(安卓)ADB 端口占用问题解决方案
  5. Android(安卓)Zip压缩解压缩
  6. android布局参照示例_约束布局Android示
  7. Android(安卓)开发环境问题解决方案集
  8. Android(安卓)[error cannot connect to
  9. Ubuntu12.04 安装ADB调试环境
  10. (亲测可用!!)android studio 编译 'com.andro