首先我们先把第三方控件导入到AndroidStudio
详情网址:
注意:JDK6以上的会出现源代码报错,FloatMath 修改成Math,就行了
先看运行效果
具体使用
MainActivity中
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// configure the SlidingMenu
SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
// 设置触摸屏幕的模式
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.color.colorAccent);
// 设置滑动菜单视图的宽度
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
// 设置渐入渐出效果的值
menu.setFadeDegree(0.35f);
/**
* SLIDING_WINDOW will include the Title/ActionBar in the content
* section of the SlidingMenu, while SLIDING_CONTENT does not.
*/
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
//为侧滑菜单设置布局
menu.setMenu(R.layout.left_menu);
}
}
主布局和侧拉布局自己定义
<dimen name="slidingmenu_offset">60dp</dimen>
<dimen name="shadow_width">15dp</dimen>
上面一些代码可能很多人不知道什么意思,那就看下面的详解
SlidingMenu的一些常用属性
//设置侧滑菜单的位置,可选值LEFT , RIGHT , LEFT_RIGHT (两边都有菜单时设置)
menu.setMode(SlidingMenu.LEFT_RIGHT);
// 设置触摸屏幕的模式,可选只MARGIN , CONTENT
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
//根据dimension资源文件的ID来设置阴影的宽度
menu.setShadowWidthRes(R.dimen.shadow_width);
//根据资源文件ID来设置滑动菜单的阴影效果
menu.setShadowDrawable(R.drawable.shadow);
// 这两个都是设置滑动菜单视图的宽度,二选一
//设置SlidingMenu离屏幕的偏移量
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
//设置宽度
menu.setBehindWidth()
// 设置渐入渐出效果的值
menu.setFadeDegree(0.35f);
//设置SlidingMenu与下方视图的移动的速度比,当为1时同时移动,取值0-1
menu.setBehindScrollScale(1.0f);
//设置二级菜单的阴影效果
menu.setSecondaryShadowDrawable(R.drawable.shadow);
//设置右边(二级)侧滑菜单
menu.setSecondaryMenu(R.layout.right_menu_frame);
//为侧滑菜单设置布局
menu.setMenu(R.layout.leftmenu);
//把滑动菜单添加进所有的Activity中,可选值SLIDING_CONTENT , SLIDING_WINDOW
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
还有几个监听事件:
[java] view plain copy
1. /**
2. * 设置打开监听事件,当滑动菜单被打开时调用
3. */
4. public void setOnOpenListener(OnOpenListener listener) {
5. mOpenListener = listener;
6. }
7.
8. /**
9. * 设置关闭监听事件,当滑动菜单被关闭时调用
10. */
11. public void setOnCloseListener(OnCloseListener listener) {
12. //mViewAbove.setOnCloseListener(listener);
13. mCloseListener = listener;
14. }
15.
16. /**
17. * 设置打开监听事件,当滑动菜单被打开过之后调用
18. */
19. public void setOnOpenedListener(OnOpenedListener listener) {
20. mViewAbove.setOnOpenedListener(listener);
21. }
22.
23. /**
24. * 设置关闭监听事件,当滑动菜单被关闭过之后调用
25. */
26. public void setOnClosedListener(OnClosedListener listener) {
27. mViewAbove.setOnClosedListener(listener);
28. }
希望对大家有帮助。