1.首先下载actionbarsherlock和SlidingMenu源代码

  由于在SlidingMenu项目中,styles.xml文件使用到了actionbarsherlock里面的主题定义,所以在使用的时候需要先导入actionbarsherlock

  两个项目的源代码地址为:

    https://github.com/jfeinstein10/SlidingMenu

    http://actionbarsherlock.com/

2.导入源代码

  运行SlidingMneu需要使用到actionbarsherlock和SlidingMenu两个lib,所以在使用项目之前,需要先将那两个lib导入,需要注意的是,因为两个lib都使用到同一个依赖包:android-support-v4.jar,所以得保证两个lib里面的该包使用的同一个版本。(个人使用经验,从网上下载的两个lib里面的该包版本不一样,直接将SlidingMneu里面的包复制到actionbarsherlock里面)

  a.首先导入actionbarsherlock

  下载好源代码之后,在Eclipse里面导入已经存在的Android项目,选择ActionBarSherlock-4.4.0下面的actionbarsherlock这个目录,导入的时候会出现SDk版本问题,Eclipse会直接进行修复直接,或者直接使用Android--Tools--Fix Project property.

  

  b.导入SlidingMenu_lib

  在github上面下载好代码之后解压,在Eclipse里面File--New--Other--Android Project from existing code,导入jfeinstein10-SlidingMenu-7ebe327里面的library,最好把项目重命名一下,因为library很可能会和其它包在名字上面冲突。

  

  因为SlidingMenu里面使用到actionbarsherlock,在SlidingMenu_lib代码的com.jeremyfeinstein.slidingmenu.lib.app包下面修改以下3个文件,将Android系统自带的如FragmentActivity替换成SherlockFragmentActivity,继承actionbarsherlock里面的定义的文件。

     SlidingFragmentActivity.java   //FragmentActivity替换成SherlockFragmentActivity

     SlidingListActivity.java、       //ListActivity替换成SherlockListActivity

      SlidingPreferenceActivity.java   //PreferenceActivity替换成SherlockPreferenceActivity

  修改之后,选择项目,右键Properties--Android---Is Library,将actionbarsherlock作为依赖包导入SlidingMenu_lib

  

  c.导入SlidingMenu示例代码

  导入jfeinstein10-SlidingMenu-7ebe327目录下面的example目录,使用b步骤里面的方法,导入两个actionbarsherlock和SlidingMenu两个依赖lib,程序中的错误都解决,可以直接运行。

操作过程遇到的问题:

1.直接导入jfeinstein10-SlidingMenu-7ebe327目录下面的example实例,出现如下错误:

解决方法:按上面的步骤依次进行导入

2.导入两个lib之后出现的问题:

  Console error: Found 2 versions of android-support-v4.jar in the dependency list,but not all the versions are identical (check is based on SHA-1 only at this time). Jar mismatch! Fix your dependencies

问题原因:是两个jar包版本不一致

解决方法:问题原因是两个jar包版本不一致,直接使用较新的android-support-v4.jar版本替换旧版本

3.没有修改SlidingMenu_lib里面的文件

  List of errors: The method getSupportActionBar() is undefined for the type BaseActivity

  The method getSupportMenuInflater() is undefined for the type BaseActivity

  The method onCreateOptionsMenu(Menu) of type BaseActivity must override or implement a supertype method

问题原因:函数没有定义,需要继承于actionbarsherlock里面的类

解决方法:在SlidingMenu_lib代码的com.jeremyfeinstein.slidingmenu.lib.app包下面修改以下3个文件,修改为类似于下面的

4.case expressions must be constant expressions 错误

问题原因:是ADT14后Android库工程中R.class中的资源常量不在为final类型,原因见http://tools.android.com/tips/non-constant-fields 官方解释

解决方法:方法是将switch 转化成if-else语句,这在eclipse中非常容易实现,将光标置于switch关键字上,按ctrl+1,进行装换

最新文章

  1. Java提高篇——单例模式
  2. Eclipse--Team--SVN--URL修改
  3. Android开发之布局的学习
  4. systemtap 技巧系列 +GDB
  5. Risk(最短路)
  6. HDU 1176 免费馅饼(DP)
  7. XTU 1245 Hamiltonian Path
  8. i++,++i 作为参数
  9. Winform应用程序实现通用遮罩层二
  10. C语言第五次作业函数
  11. vscode 前端插件推荐
  12. iOS保持待续连接
  13. RAMOS测速
  14. Please run SwitchHosts! as an Administrator 原因
  15. js获取当前日期时间“yyyy-MM-dd HH:MM:SS”
  16. LeetCode 575 Distribute Candies 解题报告
  17. Android Studio 修改Logcat的颜色
  18. [开源,学习,分享]UWP第三方简书客户端分享
  19. 什么叫NAT,设置NAT的两个方法
  20. JavaScript去空格之trim()

热门文章

  1. .net mvc mssql easyui treegrid 及时 编辑 ,支持拖拽
  2. Font-Awesome 体验 鼠标进入图标变大
  3. [SQLXML]FOR XML语法导出XML的易错之处
  4. 【转】Oracle修改表空间为自动扩展
  5. white-space的值
  6. mysql设置root的密码
  7. openSUSE13.1安装Nodejs并更新到最新版
  8. leetcode第11题--Container With Most Water
  9. 使用Windows2003的IIS发布网站 - 进阶者系列 - 学习者系列文章
  10. serialVersionUID行动