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就不会报之前的错误了。