ActionBarSherlock,SlidingMenu
转自:http://www.chenwg.com/android/actionbarsherlock%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.html
Android3.0开始就提供了ActionBar,这让Android的用户体验强了好多,但是这个ActionBar在Android3.0以下是不支持的,谷歌也没推出什么解决方案,不过呢,没有什么是实现不了的,有github上有牛人放出了开源的ActionBarSherlock,可以在Android2.x上实现ActionBar,如果你在Android3.0的手机上使用,它会调用原生的ActionBar。
ActionBarSherlock在github上的地址是:https://github.com/JakeWharton/ActionBarSherlock,它的官网是:http://actionbarsherlock.com/,下载即可,现在最新版本是4.2.0.
下载好,就解压出来,有三个文件夹,其实library就是Android公共库的使用,也就是将一些共同的东西抽取出来,包括java文件,资源文件等。
我的开发工具是eclipse,并安装了Android-maven,然后将这个library项目以maven项目导入即可。
接着新建一个Android工程,然后右键选择properties,再选择Android,接着添加library进来,如下:

1.修改项目的AndroidManifest.xml文件,将Android的Theme,也就主题改为如下:
android:theme=”@style/Theme.Sherlock.Light” ,也就是使用ActionBarSherlock里的主题;
2.修改MainActivity.java文件,默认生成的MainActivity类是继承Activity的,现在将Activity修改成SherlockActivity;
3.修改menu文件夹下的main.xml文件如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<item android:id="@+id/add" android:icon="@android:drawable/ic_menu_add" android:showAsAction="ifRoom" android:title="@string/add" android:titleCondensed="@string/add"> </item> <item android:id="@+id/delete" android:icon="@android:drawable/ic_menu_delete" android:showAsAction="ifRoom" android:title="@string/delete" android:titleCondensed="@string/delete"> </item></menu> |
4.要使ActionBar显示menu按钮,得重写MainActivity中的onCreateOptionsMenu方法,还要导入ActionBarSherlock中的Menu、MenuItem包,如下:
|
1
2
3
4
5
6
7
|
import com.actionbarsherlock.view.Menu;import com.actionbarsherlock.view.MenuItem;@Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.main, menu); return true; } |
运行下模拟器,如下:

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=262755&extra=page%3D1&page=1
1. 在github上有一个效果不错的开源库,SlidingMenu 最新的代码下载下来后,会报错:
No resource found that matches the given name: attr 'homeAsUpIndicator'.
No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'.
原因是它本身又引用了另外一个开源库 ActionBarSherlock ,所以首先要做的就是去下载 ActionBarSherlock,引用其中的library。
-------------------------------------------------------
增加引用方法:修改SlidingMenu\example\project.properties
- # Project target.
- target=android-17
- android.library=false
- android.library.reference.1=../library
- android.library.reference.2=../ABS
- #增加这一句
- android.library.reference.3=../../ActionBarSherlock/actionbarsherlock
- proguard.config=proguard-project.txt
2. 这样,SlidingMenu 的示例代码就引用了两个library,这时候还不能用,项目报错:
Jar mismatch! Fix your dependencies
解决此问题的方法见 http://blog.csdn.net/java_crab/article/details/8477416 ,其实就是需要两个library使用的support包是一样的。
3. 解决了上面的问题之后,还会出现下面的问题:
可能报找不到getSupportActionBar等ActionBarSherLock的方法。原因是使用ActionBarSherLock的Activity需继承于SherlockActivity,修改SlidingMenu library中的SlidingFragmentActivity,让它继承于SherlockFragmentActivity,重新编译library导入。
需要修改文件SlidingMenu\library\project.properties,增加:
android.library.reference.1=../../ActionBarSherlock/actionbarsherlock
经过以上三个步骤之后,就可以成功的编译通过SlidingMenu提供的示例代码!
Github 链接
SlidingMenu https://github.com/jfeinstein10/SlidingMenu
ActionBarSherlock https://github.com/JakeWharton/ActionBarSherlock
http://www.bubuko.com/infodetail-423289.html
ActionBarSherlock,SlidingMenu的更多相关文章
- android侧滑效果,SlidingMenu配置
最近开始做点东西,需要用到android activity侧滑的效果.感觉配置起来还是有点小麻烦,总结一下以便回顾. 需要的东西: 1.SlidingMenu项目:点击打开链接 2.ActionBar ...
- Android 快速开发框架:推荐10个框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..
对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了). 下面转载这10个框架的介绍:(按顺序来吧没有什么排名). 一. Afinal 官方介绍: Afina ...
- 【转载】android 常用开源框架
对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了). 下面转载这10个框架的介绍:(按顺序来吧没有什么排名). 一. Afinal 官方介绍: Afina ...
- SlidingMenu和ActionBarSherlock结合滑动式菜单都
https://github.com/jfeinstein10/SlidingMenu http://actionbarsherlock.com/ SlidingMenu 的demo工程引用了Acti ...
- 当webview遇到了Slidingmenu,webView出现卡白,解决方案
先介绍一下什么是SlidingMenu: Sliding Menu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.如Evernote.Google+.F ...
- Android下Slidingmenu和actionbarsherlock的使用
1 http://blog.csdn.net/wangjinyu501/article/details/9331749 博客很多,推荐此教程,slidingmenu的demo可以演示 2 http: ...
- Android中的slidingmenu
简介 SlidingMenu作为滑动侧边栏主要用来代替Android传统的Menu菜单. 导入方法 SlidingMEnu以前依赖于另一个开源库ActionBarSherlock,但是现在被AppCo ...
- Android开源项目SlidingMenu深入剖析
SlidingMenu简介: SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.目前有大量的应用都在使用这一效果.如Evernote ...
- Android开源库--SlidingMenu左右侧滑菜单
如果说我比别人看得更远些,那是因为我站在了巨人的肩上. github地址:https://github.com/jfeinstein10/SlidingMenu 设置: 1.下载之后以依赖项的 ...
随机推荐
- php 获取地址栏参数
javascript实现: top.location.href 顶级窗口的地址this.location.href 当前窗口的地址 PHP实现: //获取域名或主机地址 echo $_SERVER[' ...
- C++中为什么构造函数初始化列表
已经有个构造函数负责初始化,为什么还需要构造函数初始化表呢? 在以下三种情况下需要使用初始化成员列表:一,需要初始化的数据成员是对象的情况:二,需要初始化const修饰的类成员:三,需要初始化引用成员 ...
- Qt Creator下载和安装(详细教程)
简介 Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project. ...
- js获取页面的来源页
<html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat=&quo ...
- Log4j 简介及初步应用
使用2.5版本有问题,暂时没有解决,也许是JDK版本不兼容的原因.因此使用的是log4j-1.2.8.jar 1.三个组件 日志记录器 —— Logger.输出目的地 —— Appender.输出 ...
- Hibernate主键生成方式之hilo
当利用Hibernate的getHibernateTemplate().save(obj);插入的对象的主键ID为null的时候自动生成5位数的主键ID进行插入. 此笔记的由来: 老夫在此处上传材料后 ...
- JDBC 事务隔离级别
JDBC 事务隔离级别 先解释一下:a:脏读取:一个事务读取了另外一个并行事务未提交的数据b:不可重复读取:一个事务再次读取之前的数据时得到的数据不一致,被另外一个事务修改c:虚读:一个事务重 ...
- 单元测试、自动化测试、接口测试过程中的Excel数据驱动(java实现)
import java.io.FileInputStream;import java.io.InputStream;import java.util.HashMap;import java.util. ...
- 下拉刷新和上拉加载 Swift
转载自:http://iyiming.me/blog/2015/07/05/custom-refresh-and-loading/ 关于下拉刷新和上拉加载,项目中一直使用MJRefresh(原先还用过 ...
- Android Studio中配置及使用OpenCV示例
Android Studio配置及使用OpenCV 前言:最近在做项目移植,项目较大,在Eclipse中配置的Jni及OpenCV环境没任何问题,但是迁移到Studio中就问题一大堆,网上也找了一些资 ...