Android 开源框架ActionBarSherlock初探
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就不会报之前的错误了。
Android 开源框架ActionBarSherlock初探的更多相关文章
- Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9971721 大家都知道Android的ActionBar是在3.0以上才有的,那么在3 ...
- 类似掌盟的Tab页 Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签 (转)
原博客地址 :http://blog.csdn.net/xiaanming/article/details/10766053 本文转载,记录学习用,如有需要,请到原作者网站查看(上面这个网址) 之前 ...
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻clientTab标签
之前用JakeWharton的开源框架ActionBarSherlock和ViewPager实现了对网易新闻clientTab标签的功能,ActionBarSherlock是在3.0下面的机器支持Ac ...
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10766053 之前用JakeWharton的开源框架ActionBarSherlock ...
- Android 开源框架Universal-Image-Loader学习
Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用 Android 开源框架Universal-Image-Loader完全解析(二)--- 图片 ...
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/39057201),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
- Android MVVM框架RoboBinding初探
RoboBinding是一个实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架.MVVM模式是MVC模式的重要更新,使得项目结构更加的优美,易于维护以及方便 ...
- Android进阶笔记13:RoboBinding(实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架)
1.RoboBinding RoboBinding是一个实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架.从简单的角度看,他移除了如addXXListen ...
随机推荐
- Java中List转换为数组,数组转List
今天写代码遇到一个奇怪的问题,具体代码不贴出了,写一个简化的版本.如下: ArrayList<String> list=new ArrayList<String>(); ...
- js打开新的链接下载文件
var p =params.join("&"); var a = document.createElement('a'); a.href = 'report/exportp ...
- Facade外观模式 笔记
Facede模式: 把内部系统复杂隐藏,提供一个方便统一的接口. 微波炉在界面简单操作下就可以烹饪出美味佳肴, 微波炉内部运作原理,各个组件互相交互运作,使用者并不需要关心. 而且关心的话可能没有多 ...
- 关于Web Api的HelpPage文档注释问题
之前使用Microsoft.AspNet.WebApi.HelpPage的时候,一直为返回对象的注释发愁,以为这是个BUG. 这个注释的解决办法其实要从其原理理解就明白了. 因为HelpPage是读取 ...
- ios将一个项目完全导为另一个项目(tool)
--前言:有时开始一个新项目,但新项目跟已做完的一个项目很类似,基本可以在原有项目上更改.这个时候,可以new一个新project,在将相应的代码文件copy到新的project,配置工程各参数,库等 ...
- 第二个参数(那个 properties)确定你将如何使用这个特性值
CBCharacteristicPropertyBroadcast: 允许一个广播特性值,用于描述特性配置,不允许本地特性 CBCharacteristicPropertyRead: 允许读一个特性值 ...
- [转] Linux写时拷贝技术(copy-on-write)
PS:http://blog.csdn.net/zxh821112/article/details/8969541 进程间是相互独立的,其实完全可以看成A.B两个进程各自有一份单独的liba.so和l ...
- Java基础知识强化95:Calendar类之Calendar类的add()和set()方法
1. Calendar的add()和set()方法: public void add(int field,int amount):根据给定的日历字段和对应的时间,来对当前的日历进行操作 public ...
- php 时间转换
在数据库读出的数据,都是字符类型的,所以需要转换: 时间的转换:用date ()函数来实现时间格式; date() 函数默认时间是1970/01/01/ 00:00:00; 要想得到想要的时间就还得用 ...
- MyEclipse保存文件时 自动格式化代码! 不包括文档注释
设置不格式化 文档注释