android中侧滑菜单有多种实现方法,其中SlidingMenu是比较常用的一种。
1.使用SlidingMenu首先到github上下载最新工程,然后再你的工程做依赖。
2.使用SlidingMenu有三种方式。
a)第一种,在代码中直接生成
SlidingMenu menu = new SlidingMenu(this);
//LEFT,RIGHT,LEFT_RIGHT 三种模式
menu.setMode(SlidingMenu.LEFT_RIGHT);
//菜单方式,TOUCHMODE_MARGIN,TOUCHMODE_FULLSCREEN,TOUCHMODE_NONE
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
//设置菜单打开后距离屏幕右边的距离
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
//关联到当前Activity,有2种模式SLIDING_CONTENT,SLIDING_WINDOW
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
//设置第一个菜单布局
menu.setMenu(R.layout.menu);
//设置第二个菜单的布局
menu.setSecondaryMenu(R.layout.menu2);
b)第二种,继承SlidingActivity类
public class MyActivity extends SlidingActivity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setBehindContentView(R.layout.menu);
setSlidingActionBarEnabled(false);
getSlidingMenu().setBehindOffsetRes(R.dimen.slidingmenu_offset);
getSlidingMenu().setMode(SlidingMenu.LEFT_RIGHT);
getSlidingMenu().setSecondaryMenu(R.layout.menu2);
}
}
c)第三种,直接写在xml中。这种方式目前测试,貌似不支持LEFT_RIGHT菜单模式,就是同时配置左右菜单,只看到left和right两种模式。
<com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
xmlns:sliding="http://schemas.android.com/apk/res-auto"
android:id="@+id/slidingmenulayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
sliding:viewAbove="@layout/main2"
sliding:viewBehind="@layout/menu2"
sliding:touchModeAbove="fullscreen"
sliding:behindOffset="100dp"
sliding:mode="right"
sliding:behindScrollScale="@dimen/scale"
sliding:shadowWidth="@dimen/shadow_width"
sliding:fadeEnabled="true"
sliding:fadeDegree="0.35"
<span style="white-space:pre"> </span>/>
相关事件
OnOpenListener,OnOpenedListener,OnCloseListener,OnClosedListener