1:我的开发环境是Ubuntu12.04下:adt-bundle-linux-x86-20130729。
ActionBarSherlock下载地址:http://actionbarsherlock.com/ 我下载的是zip版:JakeWharton-ActionBarSherlock-5a15d92,解压之后:
2:actionbarsherlock没有提供类似jar包的方式,所以我们要先新建一个sherlock工程,例如:
点击Next:这里要选中第三项 Mark this project as a library
然后一路Next最后Finish。
3:进入actionbarsherlock文件夹:
把libs,res,src,AndroidManifest.xml四个文件覆盖到我们刚才新建的sherlock工程里,我们的sherlock工程目录如下:
此时回到我们的工程界面,刷新一下工程,看一下有没有错误:如没有报错就OK了。
4:此时我们新建一个工程来测试一下sherlock是否可以用,此时建立的工程和我们平时一样。
例如:sherlocktest:然后右键->Properties->Android->右边勾选 is Library->Add->选中sherlock->OK
最后 Apply之后在控制台会提示错误:说是android-support-v4.jar的问题,我就把sherlocktest工程中的libs/android-suppoer-v4.jar覆盖到了sherlock中的libs/android-suppoert-v4.jar,之后又重新加载了一边这次没有报错。
(1)修改AndroidManifest.xml如下:对activity中加入theme模板:
android:theme="@style/Theme.Sherlock.Light"
<activity
android:name="com.example.sherlocktest.MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light">
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
(2)修改menu/main.xml文件如下:
<item
android:id="@+id/add"
android:icon="@android:drawable/ic_menu_add"
android:showAsAction="ifRoom"
android:title="add"
android:titleCondensed="add">
</item>
<item
android:id="@+id/delete"
android:icon="@android:drawable/ic_menu_delete"
android:showAsAction="ifRoom"
android:title="delete">
</item>
(3)修改MainActivity 要继承SherlockActivity,也要导入sherlock的Menu
public class MainActivity extends SherlockActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.main, menu);
return true;
}}
运行项目效果如下:
说明:在覆盖文件的时候不要覆盖libs就不会报之前的错误了。