侧拉菜单的使用:

侧拉菜单的使用: 使用方法: 一.首先导入SlidingMenu这个库文件 eclipse中的流程:菜单第一项 File --Import --选择库所在位置 导入 可以看到库的结构为:

你可以直接继承app这个包中的SlidingActivity,SlidingFragmentActivity,SlidingListActivity等这几个类去实现这个效果, 或则直接在你的项目中的主类文件中初始化SlidingMenu,并进行配置后使用。 在SlidingMenu类的源码中,

你可以看到,它实际上是继承了RelativeLayout之后去赋予你给定的layout布局,然后置于你项目的左侧或则右侧。 蛮多大神都是自己定义一个这样的VIEW自己去实现这个效果,这个库就是提供了一个方便的途径。

二.在你的项目中引入SlidingMenu这个库 eclipse中的流程:右击你的项目 -- Properties -- Android -- Add 选择SlidingMenu库 注意:可能这时你的项目会出错或则运行时候出错,原因就是SlidingMenu库中已经带有了android-support-v4.jar这个官方架包,如果你在自己的项目中也带有这个架包的话,可能就会造成版本冲突,如果冲突了,你可以把自己项目中libs文件夹中的这个架包给删除了。

三.在你的项目中使用这个SlidingMenu 我喜欢把SlidingMenu自定义成一个类,之后去初始化,这样可以减少主要activity中的代码份量,维护起来会方便的。 用代码实现SlidingMenu这个控件: [java] view plain copy

  1. public SlidingMenu initSlidingMenu(Activity activity) {
  2.      SlidingMenu localSlidingMenu = new SlidingMenu(activity);  
    
  3.      localSlidingMenu.setMode(SlidingMenu.LEFT_RIGHT);//设置左右滑菜单  
    
  4.      localSlidingMenu.setTouchModeAbove(SlidingMenu.LEFT);//设置要使菜单滑动,触碰屏幕的范围  
    
  5.      //localSlidingMenu.setTouchModeBehind(SlidingMenu.RIGHT);  
    
  6.      localSlidingMenu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度  
    
  7.      localSlidingMenu.setShadowDrawable(R.drawable.shadow);//设置阴影图片  
    
  8.      localSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//设置划出时主页面显示的剩余宽度  
    
  9. <span style="white-space:pre"> </span>localSlidingMenu.setFadeEnabled(true);//设置滑动时菜单的是否渐变 <span style="white-space:pre"> </span>localSlidingMenu.setFadeDegree(0.35F);//<span style="font-family: Helvetica, arial, freesans, clean, sans-serif;">设置</span>滑动时的渐变程度
  10.     localSlidingMenu.attachToActivity(activity, SlidingMenu.RIGHT);//使SlidingMenu附加在Activity右边  
    
  11. // localSlidingMenu.setBehindWidthRes(R.dimen.left_drawer_avatar_size);//设置SlidingMenu菜单的宽度
  12.     localSlidingMenu.setMenu(R.layout.left_drawer_fragment);//设置menu的布局文件  
    
  13.     localSlidingMenu.toggle();//动态判断自动关闭或开启SlidingMenu  
    
  14.     localSlidingMenu.setOnOpenedListener(new SlidingMenu.OnOpenedListener() {  
    
  15.                 public void onOpened() {  
    
  16.                 }  
    
  17.             });  
    
  18.     return localSlidingMenu;  
    
  19. }  
    

配置设定方法中 setMode() 是常用属性有: 1)SlidingMenu.LEFT 左测菜单 2)SlidingMenu.RIGHT 右侧菜单 3)SlidingMenu.LEFT_RIGHT 左右2测菜单 注意:如果是1)或则 2) 的话,menu界面只用setMenu()就可以设定了 如果是3)的话,必须在加上setSecondaryMenu()这个方法 [java] view plain copy

  1. <span style="white-space:pre"> </span>localSlidingMenu.setMenu(R.layout.left_drawer_fragment);//设置左测menu的布局文件
  2.      localSlidingMenu.setSecondaryMenu(R.layout.profile_drawer_right);<span style="font-family: Helvetica, arial, freesans, clean, sans-serif;">//设置右测menu的布局文件</span>  
    
  3.      localSlidingMenu.setSecondaryShadowDrawable(R.drawable.shadowright);//设置右侧阴影文件  
    

配置设定方法中 setTouchModeAbove() 是常用属性有: 1)SlidingMenu.LEFT 在左测进行拖动才会相应MENU的拖动效果 2)SlidingMenu.RIGHT 在右测进行拖动才会相应MENU的拖动效果 3)SlidingMenu.TOUCHMODE_FULLSCREEN 全屏可以拖动 配置设定方法中 attachToActivity(Activity activity, int slideStyle)中slideStyle常用属性有: 1)SlidingMenu.LEFT
2)SlidingMenu.RIGHT
3)SlidingMenu.ABOVE
配置设定中以下方法的效果是一样的,可是实现方式不一样: [java] view plain copy

  1. <span style="white-space:pre"> </span>localSlidingMenu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度
  2.  localSlidingMenu.setShadowWidth(100);//设置阴影图片的宽度  
    

第一个是从资源文件中获取 ,第二种是直接设定给它,注意,第二种设定的是像素,所以一般建议用第一种方式,其它有的方法结构一样也是类似,以此类推。

这样便配置完成了SlidingMenu,之后你可以去调用以下方法实现SlidingMenu的动作效果:

localSlidingMenu.showContent(); //隐藏Menu菜单 2)localSlidingMenu.showMenu(); //显示Menu菜单 3)localSlidingMenu.showSecondaryMenu(); //显示Menu第2个菜单 4)localSlidingMenu.setOnOpenListener(OnOpenListener listener); 设置Menu菜单的打开监听 5)localSlidingMenu.setOnCloseListener(OnCloseListener listener); 设置Menu菜单的关闭时候的监听(when) 6)localSlidingMenu.setOnClosedListener(OnClosedListener listener);; 设置Menu菜单的关闭后的监听(after ,和方法4是有区别的) 和一些判断: 1)Boolean 类型:localSlidingMenu.isMenuShowing(); 判断menu菜单是否是显示的,显示的话返回true,反之false。 localSlidingMenu.isSecondaryMenuShowing(); 判断menu的第2个菜单是否是显示的,显示的话返回true,反之false。

转载于:https://my.oschina.net/ymmymm/blog/719866

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值