Android SlidingMenu 使用详解

Posted Taserio-xie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android SlidingMenu 使用详解相关的知识,希望对你有一定的参考价值。

转载出处:http://blog.csdn.net/lmj623565791/article/details/36677279

很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,如果对SlidingMenu 还不是很了解的童鞋,可以参考下本篇博客。将侧滑菜单引入项目的方式很多中,本博客先通过例子介绍各种引入方式,然后给大家展示个实例:主布局ViewPager,左右各一个侧滑菜单的用法,差不多已经能满足大部分应用的需求了。关于常用属性,在文章末尾介绍。

1、在Activity中通过SlidingMenu构造方法,直接设置侧滑菜单

[java]  view plain  copy  
  1. package com.zhy.zhy_slidemenu_demo;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;  
  7.   
  8. public class MainActivity extends Activity  
  9.   
  10.   
  11.     @Override  
  12.     protected void onCreate(Bundle savedInstanceState)  
  13.       
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.activity_main);  
  16.   
  17.         // configure the SlidingMenu  
  18.         SlidingMenu menu = new SlidingMenu(this);  
  19.         menu.setMode(SlidingMenu.LEFT);  
  20.         // 设置触摸屏幕的模式  
  21.         menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);  
  22.         menu.setShadowWidthRes(R.dimen.shadow_width);  
  23.         menu.setShadowDrawable(R.drawable.shadow);  
  24.   
  25.         // 设置滑动菜单视图的宽度  
  26.         menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);  
  27.         // 设置渐入渐出效果的值  
  28.         menu.setFadeDegree(0.35f);  
  29.         /** 
  30.          * SLIDING_WINDOW will include the Title/ActionBar in the content 
  31.          * section of the SlidingMenu, while SLIDING_CONTENT does not. 
  32.          */  
  33.         menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);  
  34.         //为侧滑菜单设置布局  
  35.         menu.setMenu(R.layout.leftmenu);  
  36.   
  37.       
  38.   
  39.   

效果图:


是不是特别简单~几行代码搞定~哈~

2、通过把Activity继承SlidingActivity 

a、继承SlidingActivity

b、然后在onCreate中setBehindContentView(R.layout.leftmenu); 设置侧滑菜单的布局

c、通过getSlidingMenu()得到SlidingMenu对象,然后设置样式

[java]  view plain  copy  
  1. package com.zhy.zhy_slidemenu_demo02;  
  2.   
  3. import android.os.Bundle;  
  4.   
  5. import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;  
  6. import com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivity;  
  7.   
  8. public class MainActivity extends SlidingActivity  
  9.   
  10.     @Override  
  11.     public void onCreate(Bundle savedInstanceState)  
  12.       
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.activity_main);  
  15.   
  16.         setBehindContentView(R.layout.leftmenu);  
  17.         // configure the SlidingMenu  
  18.         SlidingMenu menu = getSlidingMenu();  
  19.         menu.setMode(SlidingMenu.LEFT);  
  20.         // 设置触摸屏幕的模式  
  21.         menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);  
  22.         menu.setShadowWidthRes(R.dimen.shadow_width);  
  23.         menu.setShadowDrawable(R.drawable.shadow);  
  24.   
  25.         // 设置滑动菜单视图的宽度  
  26.         menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);  
  27.         // 设置渐入渐出效果的值  
  28.         menu.setFadeDegree(0.35f);  
  29.         /** 
  30.          * SLIDING_WINDOW will include the Title/ActionBar in the content 
  31.          * section of the SlidingMenu, while SLIDING_CONTENT does not. 
  32.          */  
  33.         // menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);  
  34.         // menu.setMenu(R.layout.leftmenu);  
  35.   
  36.       
  37.   
  38.   

效果图和第一种方式一样~是不是也很简单~~

3、将SlidingMenu当作普通控件

可以把SlidingMenu作为普通的view,然后在布局中声明,丧心病狂的玩~下面看个例子:

[html]  view plain  copy  
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:id="@+id/id_main_ly"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="match_parent" >  
  6.   
  7.     <LinearLayout  
  8.         android:layout_width="wrap_content"  
  9.         android:layout_height="wrap_content"  
  10.         android:layout_marginLeft="30dp"  
  11.         android:layout_marginTop="30dp" >  
  12.   
  13.   
  14.         <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu  
  15.             xmlns:sliding="http://schemas.android.com/apk/res-auto"  
  16.             android:id="@+id/slidingmenulayout"  
  17.             android:layout_width="120dp"  
  18.             android:layout_height="170dp"  
  19. Android SlidingMenu 使用详解

    Android SlidingMenu 使用详解

    Android SlidingMenu 使用详解

    Android SlidingMenu 使用详解

    使用SlidingMenu的方法以及Android Studio 如何导入第三方库SlidingMenu

    Android——SlidingMenu学习总结