使用actionbarsherlock可以在2.X的项目中使用android4.x的ActionBar和Fragment等新特性,做法如下:
1在项目中添加库,将actionbarsherlock导入到我们的项目中
导入中,可能存在包冲突,这是因为actionbarsherlock和我们的项目同时使用到了android-support-v4这个包,删除我们项目中的兼容包即可
2修改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样式来显示界面,不然会显示为菜单样式
3修改相应类
相应类的对应关系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差不多,某些情况下可以混合使用这两个类
4.把不需要的包从import导入列表中注释掉,至此,项目已经可以在android2.x-4.x中成功运行
转载自:http://www.xue5.com/Mobile/Android/688706.html