獲取地址:/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.jar” JAR 包
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 = "/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 項目,然後選擇合適的模擬器或真機運行即可。