當前位置:編程學習大全網 - 源碼下載 - Andoid開發中怎樣使用 SlidingMenu 實現滑動菜單欄

Andoid開發中怎樣使用 SlidingMenu 實現滑動菜單欄

1. 從網上獲取最新的 SlidingMenu 源碼的壓縮包

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

  • 上一篇:問道混沌鐘封印法傷
  • 下一篇:mud服務器目錄下的文件夾有什麽用途?
  • copyright 2024編程學習大全網