开源项目SlideMenu使用详解

简介:

以前搞过一个滑动菜单,是自己重写发view,实现了基本功能可以滑动显示,后来看了下SlideMenu的使用,真是非常强大,不但可是简单的设置实现两侧滑动菜单,还可以设置菜单的阴影、渐变色、划动模式等,所以还是老实点直接用现成的吧,当然有时间的话还要看先SlideMenu的源码。这里先详细分析下SlideMenu的使用:

准备工作:
1. SlidingMenu 下载地址: 
https://github.com/jfeinstein10/SlidingMenu
2.下载好后,导入到我们eclipse(也可以新建一个项目,将SlidingMenu项目拷进去)
3. 需要将SlidingMenu设置成is libray.因为我们需要在我们的demo中导入SlidingMenu。

接下来看看SlideMenu怎么使用:

首先,Activity要继承自SlidingFragmentActivity,而SlidingFragmentActivity又继承自SherlockFragmentActivity并实现SlidingActivityBase接口提供相应方法,只要我们的Activity继承自SlidingFragmentActivity就行了。

SlideMenu是使用分析:

1、初始化Slidemenu:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. SlidingMenu sm = getSlidingMenu();  

2、设置SlideMenu阴影:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. sm.setShadowWidthRes(R.dimen.shadow_width);//阴影宽度     
  2.  sm.setShadowDrawable(R.drawable.shadow);//阴影Drawable  
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. sm..setShadowDrawable(true)//是否有阴影  

3、设置SlideMenu来开后离边框距离:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);//拉开后离边框距离     

4、设置渐变:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. sm.setFadeEnabled(true);/是否有渐变    
  2. sm.setFadeDegree(0.35f);//设置渐变比率  

5、设置SlideMenu布局:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. setBehindContentView(R.layout.fr_slide_menu_right_frame);  
  2.   
  3. getSupportFragmentManager().beginTransaction()  
  4.         .replace(R.id.fr_slide_menu_right_frame, new AddChannelFragment()).commit();  

.FragmentTransaction类主要用于管理Fragment,有添加,替换,删除等操作。尤其是beginTransaction()与commit()方法与SQL中的事务有点类似。

6、设置模式:

sm.setMode(SlidingMenu.RIGHT);//菜单右边显示

SlidingMenu.LEFT 菜单左边显示;SlidingMenu.LEFT_RIGHT菜单两侧显示。

注意:菜单两侧显示的时候,既然显示两个就应该设置两个布局,需要设置第二个布局:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. // 设置左右侧都有  
  2. sm.setMode(SlidingMenu.LEFT_RIGHT);  
  3. // 此时要再次添加布局菜单,上一个为左侧,这个为右侧  
  4. sm.setSecondaryMenu(R.layout.menu_frame_two);  
  5. getSupportFragmentManager()  
  6.         .beginTransaction()  
  7.         .replace(R.id.menu_frame_two,  
  8.            new SampleListFragment()).commit();  
  9. sm.setSecondaryShadowDrawable(R.drawable.shadowright);  

7、设置划动模式:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//全屏滑动  

SlidingMenu.setTouchModeAbove().其中一共包含三中手势模式:
TOUCHMODE_FULLSCREEN 全屏模式,在正文布局中通过手势也可以打开SlidingMenu
TOUCHMODE_MARGIN 边缘模式,在正文布局的边缘处通过手势可以找开SlidingMenu
TOUCHMODE_NONE 自然是不能通过手势打开SlidingMenu了

8、设置SldingMenu自动判断当前是打开还是关闭:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. toggle();  

9、设置缩放比例:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. // 放缩比例  
  2. getSlidingMenu().setBehindScrollScale((float)0.5);  


是不是很简单,只要设置下属性就能实现菜单效果,当然要自己添加自己的布局文件。


转载自:http://blog.csdn.net/xiangxue336/article/details/20382835
目录
相关文章
|
7月前
|
数据可视化 Linux 数据库
来了!HelloGitHub 年度热门开源项目
本期为HelloGitHub 年度盘点,为了满足不同读者的需求,作者将内容分为 Top10 和 精选 两部分
|
6月前
|
前端开发
决定做一个开源项目
决定做一个开源项目
26 0
|
7月前
|
自然语言处理
分享开源项目Chatwoot
Chatwoot是一个开源的客户支持平台,它提供了一系列工具,使企业能够通过各种渠道(如电子邮件、社交媒体、网站聊天窗口等)与客户进行沟通。它的目标是为企业提供一个统一的界面,汇总来自不同渠道的客户对话,从而提高客户服务效率和效果。
108 0
|
消息中间件 缓存 NoSQL
2018-2021我的开源项目总结
2018-2021我的开源项目总结
93 0
|
消息中间件 移动开发 自然语言处理
2018至2023我的开源项目分享
2018至2023我的开源项目分享
115 0
开源项目推荐:MiNiGUI和HybridOS
开源项目推荐:MiNiGUI和HybridOS
134 0
|
Web App开发 安全 API
|
NoSQL Redis 数据安全/隐私保护
开源项目
renren-security 3.1.0 发布:拿来即用的权限管理系统 基于 Redis 实现的分布式队列 KMQueue lombok
929 0
|
存储
acffo的开源项目汇总
1、 XWaveView  , 流动波浪效果                            2、LogRecordHelper, logcat日志记录存储到文件 可以指定TAG , 将logcat日志写入文件,当log日志过多需要分析的时候使用。
1168 0
下一篇
DataWorks