使用ActionBarSherlock代替在android4.0中的Fragment及ActionBar

  次阅读 作者:智能小宝 来源:互联网 2015-09-29 10:49 我要评论(0)

先前有一个项目,是基于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"

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

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中成功运行

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...