最近一双休就老是外面跑,到现在才有时间改动下Kris的实例。@Kris大神走的是4.0版本以上,而我还在默默苦逼走着2.2,为了版本往下兼容得改动下Kris的实例。附上Kris大神的原文章地址:[SlidingMenu Viewpager](http://my.eoe.cn/kris/archive/1688.html),Kris大神已经详细介绍了思路及相关代码,这里我也就不再重复了,主要讲讲修改的地方:1.当然是将Fragment全部更换成support.v4兼容包的Fragment;2.由于support.v4兼容包木有PreferenceFragment,只能将MenuFragment改成Fragment;3.关于ActionBar的兼容,这里用到的是JakeWharton的ActionBarSherlock ,附上github地址:[ActionBarSherlock ](https://github.com/JakeWharton/ActionBarSherlock) 。大家可以看看,用法基本很ActionBar区别不大,有一小部分有点不一样。为了兼容anctionBar这里将SlidingMenu里的SlidingActivity,Slidin gFragmentActivity,SlidingListActivity,SlidingPreferenceActivity分别继承ActionBarSherlock 里的SherlockActivity,SherlockFra   gmentActivity,SherlockListActivity,SherlockPreferenceActivity。4.SlidingMenuDemo的MainActivity我为了方便修改成继承SlidingFragmentActivity,MainActivity主要修改部分:
private void initSlidingMenu() {// customize the SlidingMenuSlidingMenu sm = getSlidingMenu();sm.setShadowWidth(50);sm.setShadowDrawable(R.drawable.shadow);sm.setBehindOffset(80);sm.setFadeDegree(0.35f);//设置slding menu的几种手势模式//TOUCHMODE_FULLSCREEN 全屏模式,在content页面中,滑动,可以打开sliding menu//TOUCHMODE_MARGIN 边缘模式,在content页面中,如果想打开slding ,你需要在屏幕边缘滑动才可以打开slding menu//TOUCHMODE_NONE 自然是不能通过手势打开啦sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);//使用左上方icon可点,这样在onOptionsItemSelected里面才可以监听到R.id.home//getSupportActionBar为兼容包获得actionBarActionBar actionbar = this.getSupportActionBar();actionbar.setDisplayHomeAsUpEnabled(true);}@Override/**修改为SherlockFragmentActivity actionBar兼容包的监听 dong**/public boolean onMenuItemSelected(int featureId,com.actionbarsherlock.view.MenuItem item) {switch (item.getItemId()) {case android.R.id.home:toggle();return true;}return super.onMenuItemSelected(featureId, item);}
 5.剩下的基本改动不大,有两点要注意的是 1)要使用ActionBarSherlock的时候 AndroidManifest.xml里的要设置theme,是@style/Theme.Sherlock 。2)编译的环境是4.06.我自己附加了一个FlipViewController的效果,github地址我给忘了,有知道的人可以提供下。用起来还是瞒简单的。7.附上项目关联图:![兼容ActionBar.jpg](http://a1.eoe.cn/www/home/201303/19/eed0/514823d5d1022.jpg '兼容ActionBar.jpg')以上是为了ActionBar的低版本兼容。按我的习惯,还是习惯2.2的编译环境。所以我把ActionBar部分舍去,用ViewPagerIndicator来代替,ViewPagerIndicator的github地址:[ViewPagerIndicator](https://github.com/JakeWharton/Android-ViewPagerIndicator)。1.将SlidingMenu改成2.2编译环境,主要将SlidingMenu的manageLayers硬件加速功能舍去,和一些高版本常量赋值下来代替或添加。2.剔除ActionBar部分,更换。3.ViewPagerIndicatorFragment:主要就是FragmentPagerAdapter的问题而已```java//ViewPagerIndicator与Viewpager的关联indicator.setViewPager(pager);//这里是为了SlidingMenu触碰的控制indicator.setOnPageChangeListener(onPageChangeListener);
    4.同样的,要注意:1)使用ViewPagerIndicator的时候 AndroidManifest.xml里的要设置theme,是@style/Theme.PageIndicatorDefaults。也可以自己依照你的需求参考github提供的sample进行修改2)编译版本为2.25.附上项目关联图:![代替actionBar.jpg](http://a1.eoe.cn/www/home/201303/19/1610/51482c5c5d3a7.jpg '代替actionBar.jpg')在结尾处说说我对现在这种关联项目的一些看法:1)在关联项目少的情况下还是可以接受,但一旦关联项目一多扩展方面有点抓急,要避免样式冲突等问题;2)关联项目的时候,如果第三方包,要保证相同的第三方包的版本号一致,比如support.v4这个包,在编译的时候如果不一致的话会有错误提示,只需更换同一个就可以解决;3)这样在模块化方面的确有好处,可引导样式、资源文件、布局文件,这是jar包不足的地方。在修改维护方面,可直接修改源码,目的性比较强,那一块出了问题或需要修改可以快速的找到;最后附上Kirs大神的效果图:
![效果图.png](http://a1.eoe.cn/www/home/201303/19/5f89/51483062c7e90.png '效果图.png')写得不好勿喷,如要喷请轻喷!下载链接:[项目源码](http://www.eoeandroid.com/thread-262666-1-1.html)
原文作者: don原文地址: http://my.eoe.cn/dongzai/archive/1768.html

关于Kris最近发布的SlidingMenu的兼容问题相关推荐

  1. IPEVO今天发布第一款同时兼容MAC和PC的Skype电话,所以说说Skype

    IPEVO今天发布第一款同时兼容MAC和PC的Skype电话,所以说说Skype.如果你还不知道什么是Skype,这篇文章你算看对了. 先说说Skype电话的功能: 1.借助软件和网络,实现免费语音聊 ...

  2. 强化学习环境库 Gym 发布首个社区发布版,全面兼容 Python 3.9

    作者:肖智清 来源:AI科技大本营 强化学习环境库Gym于2021年8月中旬迎来了首个社区志愿者维护的发布版Gym 0.19.该版本全面兼容Python 3.9,增加了多个新特性. 强化学习环境库的事 ...

  3. Wine 2.10 发布,Windows 应用兼容层

    Wine 2.10 已发布,这是一个开发版,更新如下: Android 图形驱动程序初始版本 WebServices Dictionary 支持 OLE 剪贴板缓存修复 一些 Direct2D 修复 ...

  4. 黑莓发布企业服务SWS 兼容Android和iOS设备

    总结:黑莓的成功过是端对端的成功,黑莓曾经是企业移动安全办公的标杆!!现在已注定成为了失败者. 企业移动安全办公除了在平台侧要和IT系统要深度整合外,终端也需要深度定制.现在由于黑莓终端成为了失败者, ...

  5. 苹果iOS 15正式版发布,iOS 15 兼容所有运行 iOS 14 的 iPhone

    Apple 的新iOS 15操作系统兼容所有能够运行iOS 14的iPhone,包括最初的iPhone SE.iPhone 6s 和 ?iPhone? 6s Plus. Apple 的兼容设备列表确认 ...

  6. 红旗linux v11预览版下载,红旗Linux V11社区预览版将发布 :UI风格+兼容面广

    今日消息,据红旗Linux官方说明, Linux桌面操作系统V11社区预览版近期发布,将于2021年1月10日提供下载. 红旗Linux桌面操作系统V11全面优化,兼容面广,稳定可靠且智能交互.硬件兼 ...

  7. 驱动兼容_【重磅】上海数明发布国内首款兼容光耦隔离式单通道栅极驱动器系列产品SLM34x...

    好文章需要分享哟~欢迎转载 近日,上海数明半导体又重磅推出新产品系列--兼容光耦隔离式单通道栅极驱动器系列产品SLM34x,在经过不懈的努力与克服重重难关后,该系列产品终于成功实现了国内此类产品的零的 ...

  8. 解决Linux动态库版本兼容问题

    说道"动态库版本兼容",很多人头脑中首先蹦出的就是"Dll Hell".啊,这曾经让人头疼的难题.时至今日,这个难题已经很好地解决了.   在进一步讨论之前来思 ...

  9. Bitcoin Unlimited发布BCH新版本,石墨烯技术迎来进展

    上周五,比特币现金开发团队之一Bitcoin Unlimited发布了BCH客户端兼容新版本1.4.0.0,此版本符合最新的硬分叉(2018年5月15日),包括32MB区块,扩展的op-return数 ...

  10. 每日新闻:6G概念研究今年启动;德国SAP斥80亿美元收购美国Qualtrics;华为发布人工智能平台;微软收购两家游戏工作室...

    关注中国软件网 最新鲜的企业级干货聚集地 趋势洞察 工信部透露:6G概念研究也在今年启动 预计2030年投入商用 伴随着5G技术脚步的到来,工信部IMT-2020(5G)无线技术工作组组长粟欣透露,6 ...

最新文章

  1. P1156 垃圾陷阱
  2. 谷歌发布:2021年度最受欢迎的开源Chrome插件!
  3. 场景多、变种快、粒度细,网易易盾是如何有效解决这些内容安全难题的?
  4. Coding更改程序的变式(report variant change)
  5. Python中的判断语句及循环
  6. java 异常抛出空指针异常_java.lang.NullPointerException 抛出空指针异常
  7. 白嫖船长几节课(2)
  8. Linux学习总结(40)——史上最全Linux命令科普
  9. 初一的学生,上了初中成绩就下降了一大截,该怎么办?
  10. 【深度优先搜索】LeetCode77:组合
  11. 算法测试例子特殊输入形式
  12. java动态生成HTML文件
  13. c语言外心,下面说法正确的是( )A.三点确定一个圆B.外心在三角形的内部C.平...
  14. Oracle Wallet Manager
  15. RK3399-商显广告机主板方案
  16. org.elasticsearch.common.util.concurrent.EsRejectedExecutionException 查询超时异常处理记录---一定要用单例模式
  17. 【2020.04】秋天 Win7sp1(64位32位)优化\快速 装机旗舰版 四合一镜像
  18. js+css+html实现放大镜效果
  19. objdump按照指定架构反汇编 裸二进制文件
  20. VMWARE 虚拟机串口管道配置

热门文章

  1. 面向对象(OOP)概念理解,通俗易懂
  2. 微信保存图片提示失败_微信保存图片失败怎么回事
  3. 元的符号在计算机怎么打出来,告诉你电脑上特殊符号怎么打出来?
  4. 如何让 uni-app 页面中的背景图片高度和宽度自适应
  5. CodeForces-721A-One-dimensional Japanese Crossword
  6. 使用IDA对ipa进行反编译
  7. 7-3 约分最简分式
  8. android sim卡pin,如何设置手机的SIM卡的PIN码?
  9. 从来没有一种工作叫钱多、事少、离家近
  10. cesium 贴地+空间+面积测量