移植SlidingMenu Android library,和安装example出现的问题解决
2014-02-25 16:38
525 查看
转载自:http://blog.csdn.net/zoeice/article/details/8721137
很多项目都用到类似左侧滑动菜单的效果,比如facebook,evernote,VLC for android等等,这很酷
源代码可以从GitHub的https://github.com/jfeinstein10/slidingmenu上下载。
移植过程中会用到Actionbarsherlock这个项目,去http://actionbarsherlock.com/download.html下载。(两个下的都是最新版本)
步骤:
1.将下载的Actionbarssherlock中/library下的文件解压到workspace(你的项目目录),改项目名称为Actionbarssherlock,从eclipse中操作new->project->Android Project from Existing Code将项目添加进去,target改为api14以上。
2.将下载的slidingmenu中/library解压到workspace(你的项目目录),改名SlidingMenu,import该项目,右键->properties->android->api14以上。或者打开project.properties:target=Google Inc.:Google APIs:14或更高。
3.这样SlidingMenu就可以用在自己项目中了。让我们来运行例子。解压slidingmenu中/example。import该项目,设置api14或更高,并add你的SlidingMenu。运行看看效果。2.1以上的系统都可以运行。
虽然是开源项目,但使用过程中还是可能会出现各种问题:
一、修复SlidingMenu
library project里出现的错误
Console
error: Unable to resolve target ‘Google Inc.:Google APIs:16.
Fix: 进入Properties检查Target
sdk是否选择了 Google APIs.
List
of errors: ACTION_POINTER_INDEX_MASK cannot be resolved android.
HONEYCOMB cannot be resolved or is not a field
LAYER_TYPE_HARDWARE cannot be resolved or is not a field
LAYER_TYPE_NONE cannot be resolved or is not a field
MATCH_PARENT cannot be resolved or is not a field
The method getLayerType() is undefined for the type View
The method setLayerType(int, null) is undefined for the type View
Fix: 将manifest里面的min
sdk version 改为你当前用到的sdk版本,7以上.
二、修复example project里出现的错误
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
Fix: 这是由于jar包版本不一致导致的,检查SlidingMenu和Actionbarsherlock中的\libs文件夹里的哪个android-support-v4.jar版本比较新,用新的替换掉其中的老版本.
如果错误还是会出现,就clean项目并重启eclipse.
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
The method onOptionsItemSelected(MenuItem) in the type Activity is not applicable for the arguments
The method onOptionsItemSelected(MenuItem) of type BaseActivity must override or implement a supertype method
The method onOptionsItemSelected(MenuItem) of type ResponsiveUIActivity must override or implement a supertype method
Fix:打开SlidingMenu
library project里SlidingFragmentActivity这个类并在声明前添加以下代码:
[java] view
plaincopy
import com.actionbarsherlock.app.SherlockFragmentActivity;
然后,将下面这个父类:
[java] view
plaincopy
public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase {
换成Actionbarsherlock里的另外一个父类:
[java] view
plaincopy
public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase {
如果错误还是会出现,就clean项目并重启eclipse.
没错误以后运行出下面效果:
很多项目都用到类似左侧滑动菜单的效果,比如facebook,evernote,VLC for android等等,这很酷
源代码可以从GitHub的https://github.com/jfeinstein10/slidingmenu上下载。
移植过程中会用到Actionbarsherlock这个项目,去http://actionbarsherlock.com/download.html下载。(两个下的都是最新版本)
步骤:
1.将下载的Actionbarssherlock中/library下的文件解压到workspace(你的项目目录),改项目名称为Actionbarssherlock,从eclipse中操作new->project->Android Project from Existing Code将项目添加进去,target改为api14以上。
2.将下载的slidingmenu中/library解压到workspace(你的项目目录),改名SlidingMenu,import该项目,右键->properties->android->api14以上。或者打开project.properties:target=Google Inc.:Google APIs:14或更高。
3.这样SlidingMenu就可以用在自己项目中了。让我们来运行例子。解压slidingmenu中/example。import该项目,设置api14或更高,并add你的SlidingMenu。运行看看效果。2.1以上的系统都可以运行。
虽然是开源项目,但使用过程中还是可能会出现各种问题:
一、修复SlidingMenu
library project里出现的错误
Console
error: Unable to resolve target ‘Google Inc.:Google APIs:16.
Fix: 进入Properties检查Target
sdk是否选择了 Google APIs.
List
of errors: ACTION_POINTER_INDEX_MASK cannot be resolved android.
HONEYCOMB cannot be resolved or is not a field
LAYER_TYPE_HARDWARE cannot be resolved or is not a field
LAYER_TYPE_NONE cannot be resolved or is not a field
MATCH_PARENT cannot be resolved or is not a field
The method getLayerType() is undefined for the type View
The method setLayerType(int, null) is undefined for the type View
Fix: 将manifest里面的min
sdk version 改为你当前用到的sdk版本,7以上.
二、修复example project里出现的错误
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
Fix: 这是由于jar包版本不一致导致的,检查SlidingMenu和Actionbarsherlock中的\libs文件夹里的哪个android-support-v4.jar版本比较新,用新的替换掉其中的老版本.
如果错误还是会出现,就clean项目并重启eclipse.
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
The method onOptionsItemSelected(MenuItem) in the type Activity is not applicable for the arguments
The method onOptionsItemSelected(MenuItem) of type BaseActivity must override or implement a supertype method
The method onOptionsItemSelected(MenuItem) of type ResponsiveUIActivity must override or implement a supertype method
Fix:打开SlidingMenu
library project里SlidingFragmentActivity这个类并在声明前添加以下代码:
[java] view
plaincopy
import com.actionbarsherlock.app.SherlockFragmentActivity;
然后,将下面这个父类:
[java] view
plaincopy
public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase {
换成Actionbarsherlock里的另外一个父类:
[java] view
plaincopy
public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase {
如果错误还是会出现,就clean项目并重启eclipse.
没错误以后运行出下面效果:
相关文章推荐
- Android按键机制以及按键模拟
- Android消息循环
- Android_Bundle介绍
- Android常用控件之FragmentTabHost的使用
- Android的事件处理机制(概念理解)
- android客户端与服务端webservice运用
- android 控件常用属性
- Android实现无线调试自己的应用
- ubuntu签名android apk 生成密钥
- android.os.NetworkOnMainThreadException异常处理
- Fiddler 跟踪 Android 数据包
- android test
- android 出现找不到R
- Android 内存溢出解决方案(OOM) 整理总结
- android 数据库事务处理简单介绍
- Android View中 layout 的使用
- (原)android修改文件所属的用户组
- 定位android kernel crash的方式
- 关于Android SDK无法更新的解决办法
- Android中线程通讯类Handler