1. 范例说明
  • 从Android 3.0开始,Android引入了ActoinBar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能。
  • 之前很多应用的顶部栏很多都是仿苹果的,比如微信。随着Android 4.0和Android 4.2的发布和慢慢的推广开来,很多应用也开始使用Google推广的UI设计,而ActionBar是其中相当重要的一部分。
  • 无奈google没有发布3.0之前版本的ActionBar的兼容包。还好网上有提供开源的别人开发的,ActionBarShelock,简称ABS.
  • ABS的还有一项值得一提的优点就是,如果你在3.0以上的机子上使用,那么它会调用系统原生的ActionBar。另外它的使用方法和系统自身的方法相当相似,如果你ActionBar本身已经很熟悉了,那么ABS也能很快上手。
  • http://actionbarsherlock.com/下载对应的压缩包

2. 运行结果

【Android您问我讲】Android 2.x中使用actionbar - Actionbarsherlock的使用_第1张图片

3. 核心代码
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);getSupportActionBar().setDisplayHomeAsUpEnabled(true);}@Overridepublic boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {getSupportMenuInflater().inflate(R.menu.main, menu);return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch(item.getItemId()){case R.id.menu_settings:Toast.makeText(this, "ActionBarSherlock settings!", Toast.LENGTH_LONG).show();break;case R.id.homeAsUp:Toast.makeText(this, "Home!", Toast.LENGTH_LONG).show();break;}return super.onOptionsItemSelected(item);}

4. 使用注意事项

1.自己的项目Buildtarget也要在4.0+,api14+。不然有关Theme.Holoxml文件读取不到资源,会导致R文件不能生成。

2.由于actionbarsherlock中自带了android_support_v4的包,所以你不用再导入一个了,以前导入过了也要删除,不然会产生冲突。

3.有时候会提示你的程序不是一个库的错误,只要在ActionbarSherlock中properties-> android中,将islibrary勾上就行了。

4.要使用Actionbar要继承sherlockactivity,在配置文件中声明activity时,要添加Theme设置才行,而且只能是三种或parent是这三种。

5. 观看视频讲解 http://www.eyeandroid.com/thread-11914-1-1.html

更多相关文章

  1. android:shape的使用 (android用xml文件生成图像控件)
  2. android 自定义View 在布局文件中写法
  3. ubuntu10.04系统android开发环境配置
  4. Android上传下载文件(图片)
  5. Android Studio 第五十六期 - Android之系统设置选项的包名
  6. getprop 获取android系统属性
  7. 【Android车载系统 News | Tech 5】车载设计开发
  8. android 录像/打开video文件
  9. (原)Eclipse的java中文件读写

随机推荐

  1. 面试前需要了解的东西
  2. 深入学习 Java 线程池
  3. Java 程序员应该知道的 10 个面向对象理
  4. 阻塞队列实现生产者消费者模式
  5. 避免 Java 应用中 NullPointerException
  6. 数据库两大神器【索引和锁】
  7. 从惰性IO说起_Haskell笔记6
  8. JVM如何从入门到放弃的?
  9. Java多线程打辅助的三个小伙子
  10. 利用 Lambda 表达式实现 Java 中的惰性求