Android開源組件SlidingMenu側滑菜單使用介紹_Android

來源:互聯網
上載者:User

現在很多android應用都有側滑菜單,效果很不錯。

GitHub上有SlidingMenu的開源庫,使用起來很方便。

SlidingMenu GitHub地址:https://github.com/jfeinstein10/SlidingMenu。GitHub上說,Sliding結合ActionBarSherlock使用功能可以更豐富,ActionBarSherlock GitHub地址:https://github.com/JakeWharton/ActionBarSherlock

附csdn下載地址:

SlidingMenu: http://download.csdn.net/detail/lanximu/7922377

ActionBarsherlock: http://download.csdn.net/detail/lanximu/7922383

下面,介紹下SlidingMenu的使用。

(1)從GitHub上download zip到本地,解壓縮,得到其中的一個檔案夾,library。

(2)Eclipse import  Existing Android Code Into Workspace。 點擊項目右鍵 properties->Android,可以看到,其 Is Library。

(3)在將使用SlidingMenu的項目上點擊右鍵 properties->Android,Library下將(2)匯入的項目add進去。

(4)為保證SlidingMenu庫應用到項目中成功,必須保證項目使用的libs和SlidingMenu庫使用的libs版本一致,主要是指android-support-v4.jar。如果項目libs不存在或編譯不通過,可以嘗試建立libs檔案夾,共置入android-support-v4.jar。在libs上右鍵->Build Path->Use as Source。一般可以解決。

(5)第(4)步之後,便可以在項目中直接使用SlidingMenu。

Java代碼:

MainActivity:

複製代碼 代碼如下:

package com.jj.testslidingmenu;

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;

public class MainActivity extends Activity {

 SlidingMenu slidingMenu;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  slidingMenu = new SlidingMenu(this);
  slidingMenu.setMode(SlidingMenu.LEFT);
  slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
  slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
  slidingMenu.setMenu(R.layout.slidingmenu);
  slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
 }

 @Override
 public boolean onKeyDown(int key, KeyEvent event){
  switch (key) {
  case KeyEvent.KEYCODE_MENU:
   slidingMenu.toggle(true);
   break;

  default:
   break;
  }
  return false;
 }

}

XMl布局代碼:

layout/slidingmenu.xml:

複製代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#ff999999">

 <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
     android:id="@+id/slidingmenu"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
    >
   <Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text = "click me"/> 

 </com.jeremyfeinstein.slidingmenu.lib.SlidingMenu>
</LinearLayout>

對於SlidingMenu常用的一些屬性設定記錄如下:

menu.setMode(SlidingMenu.LEFT);//設定左滑菜單
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//設定滑動的螢幕範圍,該設定為全屏地區都可以滑動
menu.setShadowDrawable(R.drawable.shadow);//設定陰影圖片
menu.setShadowWidthRes(R.dimen.shadow_width);//設定陰影圖片的寬度
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//SlidingMenu划出時首頁面顯示的剩餘寬度
menu.setBehindWidth(400);//設定SlidingMenu菜單的寬度
menu.setFadeDegree(0.35f);//SlidingMenu滑動時的漸層程度
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//使SlidingMenu附加在Activity上
menu.setMenu(R.layout.menu_layout);//設定menu的布局檔案
menu.toggle();//動態判斷自動關閉或開啟SlidingMenu
menu.showMenu();//顯示SlidingMenu
menu.showContent();//顯示內容
menu.setOnOpenListener(onOpenListener);//監聽slidingmenu開啟

menu.setOnOpenedListener(onOpenedlistener);監聽slidingmenu開啟後

menu.OnCloseListener(OnClosedListener);//監聽slidingmenu關閉時事件

menu.OnClosedListener(OnClosedListener);//監聽slidingmenu關閉後事件

左右都可以划出SlidingMenu菜單只需要設定
menu.setMode(SlidingMenu.LEFT_RIGHT);屬性,然後設定右側菜單的布局檔案
menu.setSecondaryMenu(R.layout.menu_fram2);//設定右側菜單

menu.setSecondaryShadowDrawable(R.drawable.shadowright);//右側菜單的陰影圖片

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.