当前位置:首页 » JAVA技术教程

开源项目SlideMenu使用详解

2014-03-04 19:10 本站整理 浏览(12812)

开源项目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:


SlidingMenu sm = getSlidingMenu();


2、设置SlideMenu阴影:


sm.setShadowWidthRes(R.dimen.shadow_width);//阴影宽度   
        sm.setShadowDrawable(R.drawable.shadow);//阴影Drawable
sm..setShadowDrawable(true)//是否有阴影


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


sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);//拉开后离边框距离


4、设置渐变:


sm.setFadeEnabled(true);/是否有渐变  
        sm.setFadeDegree(0.35f);//设置渐变比率


5、设置SlideMenu布局:


setBehindContentView(R.layout.fr_slide_menu_right_frame);
        getSupportFragmentManager().beginTransaction()
                .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菜单两侧显示。



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


// 设置左右侧都有
		sm.setMode(SlidingMenu.LEFT_RIGHT);
		// 此时要再次添加布局菜单,上一个为左侧,这个为右侧
		sm.setSecondaryMenu(R.layout.menu_frame_two);
		getSupportFragmentManager()
				.beginTransaction()
				.replace(R.id.menu_frame_two,
				   new SampleListFragment()).commit();
		sm.setSecondaryShadowDrawable(R.drawable.shadowright);


7、设置划动模式:


sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//全屏滑动


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



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


toggle();


9、设置缩放比例:


// 放缩比例
	getSlidingMenu().setBehindScrollScale((float)0.5);


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