关于侧滑效果SlidingMenu

来源:互联网 发布:时代钓具淘宝官网 编辑:程序博客网 时间:2024/05/01 07:07

刚开始开发的时候需要一个侧滑的功能,结果在网上找了好几个小时,结果看到一个SlidingMenu的东西,感觉还挺好用。

网上的代码也很多,我这里就罗嗦了。这里要注意的问题是侧滑了以后要在左边想点击一个按钮回到主界面的话可以这么调用

sm.toggle(true);sm是主页面SlidingMenu的一个对象。

在主页面调用SlidingMenu的代码可以这样。

  public SlidingMenu sm;


public void initSlidingMenu(Bundle savedInstanceState) {

        pullFlag =0;
        ImageView titleLeft;
        titleLeft = (ImageView) findViewById(R.id.title_left);
        // titleRight=(Button)findViewById(R.id.title_right);
        titleLeft.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                toggle();
            }
        });

        setBehindContentView(R.layout.menu_frame);

        android.support.v4.app.FragmentTransaction f = getSupportFragmentManager()
                .beginTransaction();
        f.replace(R.id.menu_frame, new LeftMenu());
        f.commit();

        sm = getSlidingMenu();

        // 设置滑动阴影的宽度
        sm.setShadowWidthRes(R.dimen.shadow_width);
        // 设置滑动阴影的图像资源
        sm.setShadowDrawable(R.drawable.shadow);
        // 设置滑动菜单视图的宽度
        sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        // 设置渐入渐出效果的值
        sm.setFadeDegree(0.35f);
        // 设置触摸屏幕的模式
        sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

    }


如果想左右都可以滑动的话代码如下:

    public void initSlidingMenu(Bundle savedInstanceState) {
        Button titleLeft;
        Button titleRight;
        titleLeft=(Button)findViewById(R.id.title_left);
        titleRight=(Button)findViewById(R.id.title_right);
        titleLeft.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {
                toggle();        
            }
        });
        
        titleRight.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {                
                sm.showSecondaryMenu();
            }
        });    
        setBehindContentView(R.layout.menu_frame);        
        FragmentTransaction f=getSupportFragmentManager().beginTransaction();
        f.replace(R.id.menu_frame, new LeftMenu());
        f.commit();
        
        sm = getSlidingMenu();
        // 设置滑动阴影的宽度
        sm.setShadowWidthRes(R.dimen.shadow_width);
        // 设置滑动阴影的图像资源
        sm.setShadowDrawable(R.drawable.shadow);
        // 设置滑动菜单视图的宽度
        sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        // 设置渐入渐出效果的值
        sm.setFadeDegree(0.35f);
        // 设置触摸屏幕的模式
        sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        sm.setSecondaryMenu(R.layout.right_menu_frame);
        
        getSupportFragmentManager().beginTransaction().replace(R.id.right_menu_frame, new RightMenu()).commit();
        sm.setMode(SlidingMenu.LEFT_RIGHT);
    } 

0 0
原创粉丝点击