侧滑菜单开源类库SlidingMenu的导入及使用

SlidingMenu是开源的侧滑菜单类库,实现类似QQ的侧滑菜单效果,GIT下载地址https://github.com/jfeinstein10/SlidingMenu

1、导入Android Studio 

下载完成后是一个zip的压缩文件,将文件解压里面有一个library库

新建一个项目,将library作为module导入到项目中,可能会出现错误,将library的build.gradle文件按照你自己app的build.gradle配置一下,我是这样配置的


配置完成后,编译应该就不会报错了,然后在自己的项目用引用,如下

或者直接在自己的项目的build.gradle文件中配置(注意是自己mudule的build.gradle文件中)添加如下代码


到此已经将library库引入到自己的项目,测试运行时可能会报出方法sin(float)找不到异常,双击定位到内容将FloatMath替换成Math就OK了,下载好的zip解压后还有一个example,这是一个示例,也可以将其作为一个mudule导入工程中,查看其案例,导入方法和上面一样,不在重复,需要注意的是,这个案例中引用到了另外一个开源库ActionBarSherlock这个库的下载地址为https://github.com/JakeWharton/ActionBarSherlock,(这个库是为了能在3.0以下使用actionBar而引入),直接下载,将其添加到example的引用就行了,方法和导入library一样。如果不想导入也可以不用导入,在运行example时会报错,将BaseActivity报错的地方注释掉,然后导入import android.view.MenuItem;import android.view.Menu;

ExampleListActivity中的继承类SherlockPreferenceActivity替换成PreferenceActivity,导包,然后注释掉报错的地方,运行,将getSupportActionBar替换成getActionBar就OK了。

2、SlidingMenu的使用

(1)将自己的Activity继承SlidingFragmentActivity

(2)添加侧拉菜单SlidingMenu

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content);
//        获取slidingMenu
        SlidingMenu slidingMenu = getSlidingMenu();
//        设置左侧拉菜单的布局
        setBehindContentView(R.layout.menu_left);
//        设置侧拉菜单的宽度   设置侧拉菜单和内容也只需设置一个就行了
//        slidingMenu.setBehindWidth(10);//i:像素
        slidingMenu.setBehindWidthRes(R.dimen.menu_width);//res:dimens.xml的属性
//         设置内容页的显示宽度
//         slidingMenu.setBehindOffset(i);//i:像素
//        slidingMenu.setBehindOffsetRes(R.dimen.content_width);//resid:dimens.xml的属性

//        设置侧拉的方向
//        LEFT:          左侧
//        LEFT_RIGHT:    两边
//        RIGHT:         右侧
        slidingMenu.setMode(SlidingMenu.LEFT_RIGHT);

//         设置右边侧拉菜单的布局FloatMath
        slidingMenu.setSecondaryMenu(R.layout.menu_right);//res:右边侧拉菜单的布局文件

//        设置侧拉菜单分割线
//         设置右边侧拉菜单的分隔线样式
        slidingMenu.setSecondaryShadowDrawable(R.drawable.shadow_right);
//        设置左侧分割线样式
        slidingMenu.setShadowDrawable(R.drawable.shadow_left);

//          设置分割线的宽度
//         slidingMenu.setShadowWidth(pixels);
        slidingMenu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);

//          设置触摸滑动的范围
//         TOUCHMODE_FULLSCREEN : 全屏
//         TOUCHMODE_MARGIN : 分割线
//         TOUCHMODE_NONE : 不能滑动
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    }

到此侧拉菜单已经可以滑动,我们还可以添加一个按钮图片,点击按钮,弹出收回菜单

findViewById(R.id.sliding).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 slidingMenu.toggle();
             }
         });

基本功能的侧拉菜单已经完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章