SlidingMenu 异常问题处理

Posted IyangcLove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 项目,然后选择合适的模拟器或真机运行即可。

以上是关于SlidingMenu 异常问题处理的主要内容,如果未能解决你的问题,请参考以下文章

Android自定义ViewGroup打造各种风格的SlidingMenu

Android自己定义ViewGroup打造各种风格的SlidingMenu

SlidingMenu的基础用法

带有 SlidingMenu 的片段中的 ViewPager

SlidingMenu使用方法

SlidingMenu 库和 Android Navigation Drawer 有啥区别?