SlidingMenu 异常问题处理

这是从百度知道找到的···  http://zhidao.baidu.com/question/617493469883277732.html?fr=iks&word=.NoClassDefFoundError%3A+com.jeremyfeinstein.slidingmenu.lib.R%24layout&ie=gbk
 
1. 从网上获取最新的 SlidingMenu 源码的压缩包
获取地址:https://github.com/jfeinstein10/SlidingMenu
解压后的目录结构如下,其中的“Library”目录是我们下一步将要导入的项目:
2. 导入SlidingMenu-master /library
使用“菜单:File / Import / Android / Existing Android Code Into Workspace”工具进行导入。
在“Import Projects”窗口中,root Directory 项选择“library”目录,Projects 中的“New Project Name”填写“SlidingMenu”的名称,并选中“Copy projects into workspace”(注:不要将 Library 目录直接拷贝到 workdspace 目录,否则会报错),然后点击“Finish”按钮完成操作。
3. 如果 sdk 有问题,重新选择合适的 sdk
4. 新建 Android 项目
使用“菜单:File / New/ Project / Android / Android Application Project”工具创建 Android 项目。
在“New Android Application”窗口中的 Application Name 里填入“SlidingMenuTest”,Target sdk 和 Compile With 项都选择“api 17:…”,其它都默认,直到完成。
5. 包含 Library
(解决 java.lang.NoClassDefFoundError com.jeremyfeinstein.slidingmenu搜索.lib.R 的错误)
打开“菜单:Project / Properties”窗口,在“Libaray”区域将前面导入的“SlidingMenu”项目添加进来。

6. 添加 jar 包
(解决java.lang.NoClassDefFoundError: android.support.v4.view.ViewConfigurationCompat 错误)
1)打开项目属性窗口,在 Libraries 标签页中通过“Add jars…”按钮添加本项目下的 “libs / android-support-v4.jarjar 包

2)在 Order and Export 标签页中选中android-support-v4.jar

7. 创建 SlidingMenu 对象
修改 MainActivity.java 文件如下:
Source code                
package com.example.slidingmenutest ;
 
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu ;
 
import android.os.Bundle ;
import android.app.Activity ;
import android.view.Menu ;
 
public class MainActivity extends Activity {
 
@Override
protected void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState ) ;
setContentView ( R. layout . activity_main ) ;
 
/*** 初始化侧滑菜单 Begin ***/
SlidingMenu menu = new SlidingMenu ( this ) ;
menu. setMode ( SlidingMenu. LEFT ) ;
menu. setTouchModeAbove ( SlidingMenu. TOUCHMODE_FULLSCREEN ) ;
menu. setShadowWidthRes ( R. dimen . shadow_width ) ; // 1)
menu. setShadowDrawable ( R. drawable . shadow ) ; // 2)
menu. setBehindOffsetRes ( R. dimen . slidingmenu_offset ) ; // 3)
menu. setFadeDegree ( 0.35f ) ;
menu. attachToActivity ( this , SlidingMenu. SLIDING_CONTENT ) ;
menu. setMenu ( R. layout . activity_main ) ; // 4)
/*** 初始化侧滑菜单 end ***/
}
 
@Override
public boolean onCreateOptionsMenu ( Menu menu ) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater ( ) . inflate ( R. menu . main , menu ) ;
return true ;
}
 
}
以上代码中红色是要注意的地方。修改完成后,将出现 4 个错误,按照一下方法修复错误:
1)menu.setShadowWidthRes(R.dimen. shadow_width) 处的错误修复
在 res/values/dimens.xml 中添加:
Source code                
<dimen name = "shadow_width" > 15dp </dimen >
2)menu.setShadowDrawable(R.drawable. shadow)处的错误修复
新建 res/drawable/shadow.xml 文件(没有“drawable”目录的自行添加):
Source code                
<?xml version = "1.0" encoding = "utf-8" ?>
<shape xmlns:android = "http://schemas.android.com/apk/res/android" >
 
<gradient
android:endColor = "#33000000"
android:centerColor = "#11000000"
android:startColor = "#00000000" />
 
</shape >
3)menu.setBehindOffsetRes(R.dimen.slidingmenu_offset )处的错误修复
在 res/values/dimens.xml 中添加:
Source code                
<dimen name = "slidingmenu_offset" > 60dp </dimen >
4)menu.setMenu(R.layout. frame_menu)处的错误修复
添加名为 MenuActivity 的 Android Activity:

8. 编译 SlidingMenu 项目
编译 SLidingMenu,生成 bin /slidingmenu.jar 文件。
9. 编译并运行 SlidingMenuTest 项目
clear SlidingMenuTest 项目,并重新编译 SlidingMenuTest 项目,然后选择合适的模拟器或真机运行即可。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值