文档章节

侧拉菜单的使用:

m
 miao了个咪
发布于 2016/07/29 09:07
字数 1036
阅读 4
收藏 0
点赞 0
评论 0

侧拉菜单的使用: 使用方法: 一.首先导入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。

© 著作权归作者所有

共有 人打赏支持
m
粉丝 2
博文 10
码字总数 3187
作品 0
海淀
认识一下 Material Design Lite 布局组件

一、布局/Layout MDL的布局/Layout组件用来作为整个页面其他元素的容器,可以自动适应不同的浏览器、 屏幕尺寸和设备。 布局/Layout组件需要按特定的HTML结构进行声明: <any class="mdl-la...

笔阁 ⋅ 2015/09/06 ⋅ 0

sublime添加跳转函数插件

原来Subl3安装Package Control很麻烦,现在简单的方法来了 一、简单的安装方法 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码: 如果顺利的话,此时就可以在Pre...

zhangyujsj ⋅ 2015/08/20 ⋅ 0

侧拉菜单抽屉效果--ZIOMenuView

侧拉菜单抽屉效果: 代码主要实现了一个可以左右拖拽的view,漏出后面的左右两边的菜单view,这两个view内容是使用者自定义的。 view提供属性:左边拖拽距离,右边拖拽距离(也就是后面菜单v...

红薯 ⋅ 2015/03/11 ⋅ 0

iOS 侧拉菜单--SideMenuController

SideMenuController 是一个用 Swift 写成的侧拉菜单。

sikkx ⋅ 2015/07/23 ⋅ 0

ionic3之上拉菜单-yellowcong

ionic上拉菜单,是在底部出现的菜单选项,有时候设定的时候,需要使用到上拉菜单的操作。上拉菜单的组件是,使用起来也挺简单的。 代码地址 实现效果 上拉菜单 上啦菜单需要导入组建,然后配置...

yelllowcong ⋅ 03/04 ⋅ 0

Git使用文档

友情提示。git的基本原理:点击这里 大纲 一、安装客户端 Git客户端Git Extensions安装及使用说明 二.连接服务 三.代码管理的基本使用 一. 安装客户端 1、安装: 01GitExtensions246SetupComp...

斜视天花板 ⋅ 2016/05/30 ⋅ 0

jenkins 按标签发布

在gitlab上,如果正常的拉代码,会直接把master上的最新的代码拉下来。但是如果我们只想对其中一段代码拉取打包怎么办???? 可以使用给代码打上标签的方式,例如v1.0 v1.1 这样我们在打包...

kesungang ⋅ 2017/05/18 ⋅ 0

在WebStorm中使用Git

总结一下在WebStrom中使用git的一些方法吧,有不对的地方欢迎指出 WebStorm 有哪些过人之处? Git远程操作详解 引用阮一峰大神的一张图 bg2014061202.jpg commit 提交改变到本地仓库 push 推送...

酥东坡er ⋅ 2017/11/21 ⋅ 0

QQ测拉效果实现(二)

转载本文请注明出处,尊重原创: 如果想第一时间收到文章更新,可以微信扫描二维码关注我的公众号,或者微信直接搜索“Android小菜”进行关注,所有的文章会比CSDN更快一步: 上一篇案例实现...

qq_32059827 ⋅ 2017/09/24 ⋅ 0

Axure制作app侧面抽屉菜单

在之前的文章中以手机淘宝app的筛选菜单为例,给大家介绍过使用axure制作app侧面滑动菜单的方法,本文继续为大家介绍另外一种app的菜单样式——抽屉菜单。手机qq、酷狗音乐等app都采取了这种...

狄睿鑫老师 ⋅ 2017/04/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

服务网关过滤器

过滤器作用 我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了。但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会...

明理萝 ⋅ 14分钟前 ⋅ 1

【2018.06.21学习笔记】【linux高级知识 14.1-14.3】

14.1 NFS介绍 NFS服务全称是NetWork File System:网络文件系统,最早有sun公司开发的,4.0版本由Netapp公司开发,是基于RPC远程过程调用(Remote Procedure Call)协议的服务。 14.2 NFS服务...

lgsxp ⋅ 22分钟前 ⋅ 0

Day18 vim编辑模式、命令模式与练习

编辑模式 命令模式 :nohl 不高亮显示 :x与:wq类似,如果在更改文件之后操作,两者效果一样;如果打开文件,没有任何操作; :wq会更改mtime,但是:x不会。 练习题 扩展 vim的特殊用法 ht...

杉下 ⋅ 26分钟前 ⋅ 0

Enum、EnumMap、EnumSet

1、Enum 不带参数 public enum Car { AUDI { @Override public int getPrice() { return 25000; } }, MERCEDES { ......

职业搬砖20年 ⋅ 27分钟前 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 28分钟前 ⋅ 0

线程组和 ThreadLocal

前言 在上面文章中,我们从源码的角度上解析了一下线程池,并且从其 execute 方法开始把线程池中的相关执行流程过了一遍。那么接下来,我们来看一个新的关于线程的知识点:线程组。 线程组 ...

猴亮屏 ⋅ 29分钟前 ⋅ 0

相对路径和绝对路径

基本概念   文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在网页设计中通过路径可以表示链接,插入图像、Flash、CSS文件的位置。   物理路径:物理路...

临江仙卜算子 ⋅ 33分钟前 ⋅ 0

消息队列属性及常见消息队列介绍

什么是消息队列? 消息队列是在消息的传输过程中保存消息的容器,用于接收消息并以文件的方式存储,一个队列的消息可以同时被多个消息消费者消费。分布式消息服务DMS则是分布式的队列系统,消...

中间件小哥 ⋅ 35分钟前 ⋅ 0

java程序员使用web3j进行以太坊开发详解

如何使用web3j为Java应用或Android App增加以太坊区块链支持,教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤器...

笔阁 ⋅ 36分钟前 ⋅ 0

vim编辑模式、vim命令模式

vim编辑模式 使用vim filename 进入的界面是一般模式,在这个模式下虽然我们能够查看,复制,剪切,粘贴,但是不能编辑新的内容,如何能直接写入东西呢?这就需要进入编辑模式了,从一般模式...

李超小牛子 ⋅ 38分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部