Android SlidingMenu 开源项目 侧拉菜单的使用(详细配置)
SlidingMenu作为最常用到的几个开源项目之一,最初,这个是在IOS上有的,之后被应用到了android上,在google自己原生态的侧拉菜单NavigationDrawer没出现之前,这个效果已经被很多应用所使用。比如今日头条,网易新闻,人人客户端等等。
由于最近项目用到,所以把相关使用和配置记录下来。
Github上的下载地址为:下载地址
- Foursquare
- Zappos
- Rdio
- Evernote Food
- Plume
- VLC for Android
- ESPN ScoreCenter
- MLS MatchDay
- 9GAG
- Wunderlist 2
- The Verge
- MTG Familiar
- Mantano Reader
- Falcon Pro (BETA)
- MW3 Barracks
public SlidingMenu initSlidingMenu(Activity activity) { SlidingMenu localSlidingMenu = new SlidingMenu(activity); localSlidingMenu.setMode(SlidingMenu.LEFT_RIGHT);//设置左右滑菜单 localSlidingMenu.setTouchModeAbove(SlidingMenu.LEFT);//设置要使菜单滑动,触碰屏幕的范围 localSlidingMenu.setTouchModeBehind(SlidingMenu.RIGHT); localSlidingMenu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度 localSlidingMenu.setShadowDrawable(R.drawable.shadow);//设置阴影图片 localSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//设置划出时主页面显示的剩余宽度 localSlidingMenu.setFadeEnabled(true);//设置滑动时菜单的是否渐变 localSlidingMenu.setFadeDegree(0.35F);//设置滑动时的渐变程度 localSlidingMenu.attachToActivity(activity, SlidingMenu.RIGHT);//使SlidingMenu附加在Activity右边 // localSlidingMenu.setBehindWidthRes(R.dimen.left_drawer_avatar_size);//设置SlidingMenu菜单的宽度 localSlidingMenu.setMenu(R.layout.left_drawer_fragment);//设置menu的布局文件 localSlidingMenu.toggle();//动态判断自动关闭或开启SlidingMenu localSlidingMenu.setOnOpenedListener(new SlidingMenu.OnOpenedListener() { public void onOpened() { } }); return localSlidingMenu; }配置设定方法中 setMode() 是常用属性有:
localSlidingMenu.setMenu(R.layout.left_drawer_fragment);//设置左测menu的布局文件 localSlidingMenu.setSecondaryMenu(R.layout.profile_drawer_right);//设置右测menu的布局文件 localSlidingMenu.setSecondaryShadowDrawable(R.drawable.shadowright);//设置右侧阴影文件配置设定方法中 setTouchModeAbove() 是常用属性有:
localSlidingMenu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度
localSlidingMenu.setShadowWidth(100);//设置阴影图片的宽度
第一个是从资源文件中获取 ,第二种是直接设定给它,注意,第二种设定的是像素,所以一般建议用第一种方式,其它有的方法结构一样也是类似,以此类推。4)localSlidingMenu.setOnOpenListener(OnOpenListener listener); 设置Menu菜单的打开监听
和一些判断:
localSlidingMenu.isSecondaryMenuShowing(); 判断menu的第2个菜单是否是显示的,显示的话返回true,反之false。
上面的流程设定的menu是通过设定layout给定的布局文件,而有的人喜欢把侧拉菜单使用块Fragment去管理,那么可以继承架包中的SlidingFragmentActivity方法去实现。
<com.jeremyfeinstein.slidingmenu.lib.SlidingMenu xmlns:sliding="http://schemas.android.com/apk/res-auto" android:id="@+id/slidingmenulayout" android:layout_width="fill_parent" android:layout_height="fill_parent" sliding:viewAbove="@layout/YOUR_ABOVE_VIEW" sliding:viewBehind="@layout/YOUR_BEHIND_BEHIND" sliding:touchModeAbove="margin|fullscreen" sliding:behindOffset="@dimen/YOUR_OFFSET" sliding:behindWidth="@dimen/YOUR_WIDTH" sliding:behindScrollScale="@dimen/YOUR_SCALE" sliding:shadowDrawable="@drawable/YOUR_SHADOW" sliding:shadowWidth="@dimen/YOUR_SHADOW_WIDTH" sliding:fadeEnabled="true|false" sliding:fadeDegree="float" sliding:selectorEnabled="true|false" sliding:selectorDrawable="@drawable/YOUR_SELECTOR"/>类似于这样,它的相关属性配置和代码是一样的,只是换成了布局中设定相关属性而已。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。