1.学习Github上的SlidingMenu,遇到了很多问题,开始不显示R文件,解决办法见如下文章:
http://blog.csdn.net/song_shi_chao/article/details/9099981
2.然后运行的时候报错,见下面的错误提示:
[2013-06-15 10:14:26 - SlidingMenuDemo] Found 2 versions of android-support-v4.jar in the dependency list, [2013-06-15 10:14:26 - SlidingMenuDemo] but not all the versions are identical (check is based on SHA-1 only at this time). [2013-06-15 10:14:26 - SlidingMenuDemo] All versions of the libraries must be the same at this time. [2013-06-15 10:14:26 - SlidingMenuDemo] Versions found are: [2013-06-15 10:14:26 - SlidingMenuDemo] Path: E:\Workspaces2\SlidingMenu\libs\android-support-v4.jar [2013-06-15 10:14:26 - SlidingMenuDemo] Length: 484258 [2013-06-15 10:14:26 - SlidingMenuDemo] SHA-1: bd6479f5dd592790607e0504e66e0f31c2b4d308 [2013-06-15 10:14:26 - SlidingMenuDemo] Path: E:\Workspaces2\SlidingMenuDemo\libs\android-support-v4.jar [2013-06-15 10:14:26 - SlidingMenuDemo] Length: 385685 [2013-06-15 10:14:26 - SlidingMenuDemo] SHA-1: 48c94ae70fa65718b382098237806a5909bb096e [2013-06-15 10:14:26 - SlidingMenuDemo] Jar mismatch! Fix your dependencies
就是说2个项目的support-v4包版本不同,验证签名的时候出错误了,所以重新把两个项目的V4包弄成一样的就行了。
然后解决办法:右键工程-》Android Tools-> Add Support Library,然后就OK了。然后Android Tools->Fix Project Propertier,然后就OK。
4.导入SlidingMenu中的Example工程,还是有错误的,getSupportManager()什么的,所以做如下操作:
打开SlidingMenuLibrary工程src文件下com.slidingmenu.lib.app包下的SlidingFragmentActivity.java,将
public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase
修改为:
public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase
SlidingMenu的library就和ActionBarSherlock的library结合在一起啦。
注意一点:
SlidingMenu的library引用ActionBarSherlock的library,而SlidingMenuExample引用SlidingMenuLibrary,不要把关系弄混了。
5.总结一下:
2、SlidingMenu的library编译通过后,把编译好的ActionBarSherLock作为一个library导入SlidingMenu。
导入方法是 右键-properties-android-add-选择ActionBarSherLock,因为SlidingMenu稍后也是以liberary的形式导入自己的项目中,所以此处勾选is a liberary。
3、新建项目,将SlidingMunu作为liberary导入,方法同上。
4、可能报找不到getSupportActionBar等ActionBarSherLock的方法。原因是使用ActionBarSherLock的Activity需继承于SherlockActivity,修改SlidingMenu liberary中的
SlidingFragmentActivity,让它继承于SherlockFragmentActivity,重新编译liberary导入。
5、项目红叉或红叹号,删除support_v4包,ActionBarSherLock已包含此包,会冲突。也有可能是主题问题,注意appication theme是否正确,参照exsample。
6、注意把ActionBar、某些Fragment等替换成ActionBarSherLock包中的类。
7、左上角的指示图片是在application theme引用的style里设的。
8、 actionBar.setNavigationMode设置不同模式使用的监听类不同。
实践:
1.参考了这篇文章,我把代码下载后运行了一下:
http://my.eoe.cn/kris/archive/1605.html?pageNum=1
然后我又自己对照他的提示重写了一遍,然后成功运行了。
2.我又看了他的第二篇文章,并下载运行了:这里用了viewpager:http://my.eoe.cn/kris/archive/1688.html
参考链接:
1.http://blog.csdn.net/zoeice/article/details/8721137
2.http://www.haogongju.net/art/1936984
3.http://blog.163.com/zhou_411424/blog/static/19736215620133171365378/
4.http://www.haogongju.net/art/1936984