分析 SlideMenu 类的实现

1、初始化Slidemenu:

SlidingMenu sm = getSlidingMenu();  

2、设置SlideMenu阴影:

<pre name="code" class="java">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);  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值