Android 2.x中使用actionbar - Actionbarsherlock (2)

简介:

先前有一个项目,是基于android4.0来开发,使用到了Fragment及ActionBar,没打算支持android2.1-android2.3系列版本

写完之后,我将此应用发布到百度应用,一天以后,收到百度测试员反馈的信息:由于运行时出现"强制关闭错误",此应用未上架,当时一看,我猜想应该是由于2.x版本不支持fragment及Actionbar引起

正好今天有空,重新打开此项目,启动android 2.1的模拟器,运行应用,果然一样的"强制关闭"错误,查看了下错误信息,果然是因为Fragment,ActionBar在2.x下不支持所引起,正好前段时间了解到ActionBarSherlock可以在2.x及4.x等各版本支持Fragment,ActionBar,于是特意使用ActionBarSherlock对项目进行了升级

升级步骤

1.在项目中add library。方法是右击属性,然后再android类中,点击add library,选择我们刚刚导入的ActionBarSherlock库的jar


2.导入后,可能有些人会出现jar包冲突,这是因为abs和自己项目中同时存在android-support-v4这个包,这时只要删掉自己项目中的这个jar包就ok了。

至此,我们就能在项目中使用abs 的 actionbar了

3.修改AndroidManifest.xml,添加或修改代码,如下所示

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="16" />

<uses-feature
    android:name="android.hardware.touchscreen"
    android:required="false" />


在application节增加以下内容 
android:theme="@style/Theme.Sherlock"

设置在2.x下使用actionBar样式来显示界面,不然会显示为菜单样式

 

4.修改相应类
相应类的对应关系
android.app.Activity->com.actionbarsherlock.app.SherlockActivity
android.app.Fragment->android.support.v4.app.Fragment
android.app.FragmentTransaction->android.support.v4.app.FragmentTransaction
android.view.Menu->com.actionbarsherlock.view.Menu
android.view.MenuItem->com.actionbarsherlock.view.MenuItem

方法对应关系
getFragmentManager->getSupportFragmentManager
getMenuInflater->getSupportMenuInflater
getActionBar->getSupportActionBar
以上左边对应的为Activity的方法,右边对应的为SherlockActivity的方法

另外我在库中发现com.actionbarsherlock.app.SherlockFragmentActivity这个类,试了下和SherlockActivity差不多,某些情况下可以混合使用这两个类

5.把不需要的包从import导入列表中注释掉,至此,项目已经可以在android2.x-4.x中成功运行
----------
actionbarsherlock库下载(abs4.2.0.jar,版本4.2.0):
http://www.kuaipan.cn/file/id_10148578223724194.html

 

原文:http://my.oschina.net/chenzz/blog/119586

本文转自欢醉博客园博客,原文链接http://www.cnblogs.com/zhangs1986/p/3656249.html如需转载请自行联系原作者


欢醉

相关文章
|
8月前
|
Android开发
Android中去掉ActionBar的几种方法
Android中去掉ActionBar的几种方法
177 0
|
XML Android开发 数据格式
Android Studio 无法预览xml布局视图:failed to load AppCompat ActionBar with unkNown error
问题如下:   解决方法: 找到res-->values-->styles.xml 文件 可以看到主题Them设置如下:    修改为:   界面预览可以正常显示
6762 0
|
XML Java Android开发
Android自定义标题栏替代复杂的Actionbar
组合控件,顾名思义就是将一些小的控件组合起来形成一个新的控件,这些小的控件多是系统自带的控件。比如很多应用中普遍使用的标题栏控件,其实用的就是组合控件,那么下面将通过实现一个简单的标题栏自定义控件来说说组合控件的用法。
195 0
|
Android开发 容器 API
Android如何给无法更改继承关系的Activity更换ActionBar(setContentView方法实战)
前言: 通常我们有时候会直接使用ADT工具直接新建一个Activity页,而这个Activity我们又无法更改它的父类,那遇到这种情况该如何处理呢?其实很简单,好,看如何来解决这个问题: 先来看看这个问题出现的情况,我们以SettingsActivity举例: 上图是Setting...
988 1
|
Android开发
Android 初始化Menu item的值(ActionBar篇)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
847 0
|
Android开发 数据格式 XML
Android CollapsingToolbarLayout:将ActionBar载入Toolbar(2)
Android CollapsingToolbarLayout:将ActionBar载入Toolbar(2) 我之前写了一篇文章:《Android Material Design : CollapsingToolbarLayout使用简介》文章链接地址:http://blog.csdn.net/zhangphil/article/details/48930821 这篇文章主要介绍了Android CollapsingToolbarLayout使用方法。
832 0
|
Android开发
Android AppCompatActivity的ActionBar之SearchView、ShareActionProvider以及menu
 Android AppCompatActivity的ActionBar之SearchView、ShareActionProvider以及menu Android早期推出的ActionBarActivity被Android谷歌官方废弃,推荐使用AppCompatActivity替代ActionBarActivity。
1116 0
|
Android开发
基于Android ActionBar的SearchView实时搜索结果
 基于Android ActionBar的SearchView实时搜索结果 在此之前,我写了一篇文章《Android AppCompatActivity的ActionBar之SearchView、ShareActionProvider以及menu》(文章链接地址:http://blog.csdn.net/zhangphil/article/details/49229567 ),本文是在这篇文章的基础上写作而成的。
1054 0
|
Android开发
android中ActionBar详解
http://blog.163.com/shexinyang@126/blog/static/136739312201451362028963/学习交流群:364976091
620 0

热门文章

最新文章