SlidingMenu创建侧滑栏的四种方式

第一种:

public class MainActivity extends FragmentActivity{
            //这步是最关键的一部引用开源类库中的类创建一个侧滑菜单
            SlidingMenu menu = new SlidingMenu(this);
            menu.setMode(SlidingMenu.LEFT);//滑动的方向
            menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//滑动的范围
            menu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度
            menu.setShadowDrawable(R.drawable.shadow);//设置阴影图片(也可以自定义图片)
            menu.setBehindOffsetRes(R.dimen.offset);//设置划出后主窗体的剩余宽度
            menu.setFadeDegree(0.35f);//滑动显示的渐入溅出效果
            menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);//使SlidingMenu附加在Activity上
            menu.setMenu(R.layout.menu_frag);
            //为menu菜单的布局添加内容
            getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.menu_fragid, new egFragment())
            .commit()

第二种:
//这里继承的是SlidingFragmentActivity

public class MainActivity extends SlidingFragmentActivity {
        //设置左侧menu的布局(默认),
        setBehindContentView(R.layout.menu_leftfrag);
        //设置menu.setMenu(布局id)默认左边的。并且要写依附于那个窗体
        SlidingMenu menu = getSlidingMenu(),//创建SlidingMenu对象,直接get获取
        menu.setSecondaryMenu(R.layout.menu_rightfrag);//设置右侧menu的布局
        menu.setMode(SlidingMenu.LEFT_RIGHT);
        //      menu.setBehindWidthRes(R.dimen.menu_width);//200dp
        menu.setBehindOffsetRes(R.dimen.menu_width);//左右都生效
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);//侧边可滑动
        //      menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//依附的窗体
        //      menu.setMenu(R.layout.menu_leftfrag);//此方式时候可省去
        //创建MenuFragment 对象
        MenuFragment menufrag = new MenuFragment();
        getSupportFragmentManager().beginTransaction()
        .replace(R.id.fl_menuleft, menufrag,"HOME").commit();//替换左侧
    getSupportFragmentManager().beginTransaction()
        .replace(R.id.fl_menuright, new Frag04()).commit();//替换右侧布局的framlayout

        //挤压的效果
        CanvasTransformer mTransformer=new CanvasTransformer(){  
                    @Override  
                    public void transformCanvas(Canvas canvas, float percentOpen) {  
                        canvas.scale(percentOpen, 1, 0, 0);               
                    }
                };  
                menu.setBehindCanvasTransformer(mTransformer);  

第三种:不用关联类库直接用抽屉控件即可简单实现

第四种 :通过V7包中的v4包的Drawerlayout和Actionbar的结合使用,详情见项目三(科普)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值