在自己的android工程中使用actionbarsherlock以及slidingmenu
最近在做一个东西,然后要求能兼容2.3以上手机(这个要求实在是蛋疼,现在充话费送的手机系统都是4.0.3的了)加上需要的抽屉的效果和Google自带的Drawer的样式不太一样,无奈之下,只能自己用开源库重新写 ,上网搜一下,大家都推荐使用Actionbarsherlock+slidingmenu的组合,自己尝试了一下下
首先先去下载这两个开源项目,附上下载地址
Actionbarsherlock:http://actionbarsherlock.com/download.html
Slidingmenu:https://github.com/jfeinstein10/slidingmenu
下载下来之后解压缩打开
我用红线标出来的两个文件夹就是此次要用到的
在eclipse里面新建一个名为ActionbarSherlockLibrary的工程,在第二部的时候勾选mark this project as a library 这个选项,然后一路next,工程建好之后
把actionbarsherlock里面的东西复制到 ActionbarSherlockLibrary 工程下面,全部覆盖,会有重复文件,注意选择全部替换,在eclipse里面右键->refresh
同样,建一个名为SlidingMenuLibrary的工程,做同样的操作,然后刷新。
这一步很重要,把你的目的工程(你要使用slidingmenu的sherlockavtionbar的工程),ActionbarSherlockLibrary,SlidingMenuLibrary三个工程使用的
android-support-v4.jar必须是同一个,不然会报错,就简单的复制粘贴替换就可以了
在你的 SlidingMenuLibrary 工程,右键->properties->android 的library视图下面选择add添加ActionbarSherlockLibrary,
然后把com.jeremyfeinstein.slidingmenu.lib.app 里面的SlidingFragmentActivity里面的
替换成
然后把com.jeremyfeinstein.slidingmenu.lib.app 里面的SlidingListActivity里面的
替换成
然后把com.jeremyfeinstein.slidingmenu.lib.app 里面的SlidingPreferenceActivity里面的
替换成
然后,在你的目的工程右键->properties里面和前面一样的方法,导入两个工程,就可以,正常使用两个开源库了
在使用的时候,你要使用Actionbarsherlock 的Activity里面集成的类改为SherlockActivity
并且在实例化actionbar的时候使用方法
mAction = getSupportActionbar();
其他的方法是基本上一样的,就是注意你的Activity中的Menu以及MenuItem的方法要使用
两个包里面的方法
2 //实例化Slidingmenu
3 menu.setMode(SlidingMenu.LEFT);
4 //设置Slidingmenu的滑出方向,有LEFT,RIGHT,LEFT_RIGHT menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
5//设置Slidingmenu的有效滑出触摸位置 6menu.setBehindWidth(getResources().getDimensionPixelSize(
7 R.dimen.menu_width));
8 //设置Slidingmenu的滑出的宽度
9 menu.attachToActivity(Act_CommdotityList.this,
10 SlidingMenu.SLIDING_WINDOW);
11 //吧Slidingmenu添加到Activity
12 //设置slidingmenu的滑出范围
13 //SLIDING_WINDOW滑出区域为整个屏幕
14 //SLIDING_CONTENT为只滑出Actionbar下面的区域
15 menu.setMenu(R.layout.sliding_menu);
16 //添加Slidingmenu的布局文件
这篇文章先到这里,剩下的我还需要进一步研究,不过sherlockActionbar的使用方法和actionbar的方法基本相同,所以相信大家都会用
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。