Android Studio引入侧边栏SlidingMenu,配置及简单使用
来源:互联网 发布:tabletoexcel.js 编辑:程序博客网 时间:2024/06/08 12:16
这个三方库已经是三四年前的了,但是依然有不少人在使用。
库的地址:https://github.com/jfeinstein10/SlidingMenu
1.下载,解压,找到其中的library,重命名为SlidingMenu。
2.重命名之后,直接复制到项目中,位置与app文件件同级,import module的形式导入也可以。
3.在settings.gradle文件中添加 include ":SlidingMenu',在app文件夹下的build.gradle文件中添加:
compile project(':SlidingMenu')
4.打开SlidingMenu文件夹下的build.gradle文件,修改如下:buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.1.0'//这个必须要改 }}apply plugin: 'android-library'dependencies { compile 'com.android.support:support-v4:13.0.0'}android { compileSdkVersion 21//这里不能超过23,原因是Android6.0不支持FloatMath.sin()了,要么修改源码,要么在23以下 buildToolsVersion "24.0.3" defaultConfig { minSdkVersion 16 targetSdkVersion 24 } sourceSets { main { java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] manifest.srcFile 'AndroidManifest.xml' } }}
除了注释的两个地方,剩下的可以参照自己app下的build.gradle文件修改。改好之后ReBuild/Make Project
5.简单使用
(1)初始化及设置参数
slidingMenu = new SlidingMenu(this); //设定模式,SlidingMenu在右边 slidingMenu.setMode(SlidingMenu.RIGHT); //设置预留屏幕宽度 slidingMenu.setBehindOffset(MyUtil.getWindowWidth()/3); //全屏都可以拖拽触摸 slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); //附加到当前的Activity上去 slidingMenu.attachToActivity(this,SlidingMenu.SLIDING_CONTENT); //设置阴影的宽度 slidingMenu.setShadowWidthRes(R.dimen.shadow_width); //设置渐入渐出效果的值 slidingMenu.setFadeDegree(0.35f); //为侧滑菜单设置布局 slidingMenu.setMenu(R.layout.layout_sliding_menu); lvRightCategory = (ListView) findViewById(R.id.lv_right_category); //右边的slidingmenu不会调用此方法,只好使用完全打开的方法,setOnOpenedListener slidingMenu.setOnOpenListener(new SlidingMenu.OnOpenListener() { @Override public void onOpen() { MyUtil.i("setOnOpenListener"); llGoodsListMain.setAlpha(0.5f);//设置主页的透明度 } }); slidingMenu.setOnOpenedListener(new SlidingMenu.OnOpenedListener() { @Override public void onOpened() { MyUtil.i("setOnOpenedListener"); llGoodsListMain.setAlpha(0.5f); } }); slidingMenu.setOnCloseListener(new SlidingMenu.OnCloseListener() { @Override public void onClose() { MyUtil.i("setOnCloseListener"); llGoodsListMain.setAlpha(1f); } });(2)系统返回键监听
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ if(slidingMenu.isMenuShowing()){ slidingMenu.toggle(); }else { return super.onKeyDown(keyCode, event); } } return false; }(3)常用属性
menu.setMode(SlidingMenu.LEFT);如果只显示左侧菜单就是用LEFT,右侧就RIGHT,左右都支持就LEFT_RIGHT
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置为全屏区域都可以滑动
menu.setShadowDrawable(R.drawable.shadow);//设置阴影图片
menu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//SlidingMenu滑出时主页面显示的剩余宽度
menu.setBehindWidth(400);//设置SlidingMenu菜单的宽度
menu.setFadeDegree(0.35f);//SlidingMenu滑动时的渐变程度
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//使SlidingMenu附加在Activity上
menu.setMenu(R.layout.menu_layout);//设置menu的布局文件
menu.toggle();//动态判断自动关闭或开启SlidingMenu
menu.showMenu();//显示SlidingMenu
menu.showContent();//显示内容
menu.setOnOpenListener(onOpenListener);//监听slidingmenu打开时,【这个方法对右边的slidingmenu是无效的】
slidingMenu.setOnOpenedListener(OnOpenedListener);//监听slidingmenu完全打开
menu.OnClosedListener(OnClosedListener);//监听slidingmenu关闭时事件
menu.OnClosedListener(OnClosedListener);//监听slidingmenu关闭后事件
menu.setSecondaryShadowDrawable(R.drawable.shadowright);//右侧菜单的阴影图片
- Android Studio引入侧边栏SlidingMenu,配置及简单使用
- android studio中导入Slidingmenu侧边栏
- 使用slidingmenu实现侧边栏
- Android Studio 使用SlidingMenu
- Android SlidingMenu 简单配置和使用
- 如何在Android studio里引入slidingmenu
- android slidingMenu 侧边栏菜单 的实现
- SlidingMenu (侧边栏)使用步骤
- Android Studio 导入/配置SlidingMenu
- 侧边栏 SlidingMenu
- Android典型界面设计(5)——使用SlidingMenu和DrawerLayout分别实现左右侧边栏
- Android Studio 使用开源库SlidingMenu
- android studio添加使用SlidingMenu
- Android - 开源项目侧边栏菜单(SlidingMenu)深入剖析
- android slidingMenu主页面向右滑动 显示侧边栏
- 【自定义View】2.Android滑动侧边栏SlidingMenu的原理
- 使用SlidingMenu和DrawerLayout分别实现左右侧边栏
- Android Studio之SVN的配置及简单使用
- Cortex-A8GPIO分配
- uCOS-II内核学习之任务调度
- 关于windows下用cmake编译VS2015找不到Boost库的解决办法
- java线程池的配置与使用(已发布)
- 哈尔滨理工大学第六届程序设计团队赛G OX(博弈搜索)
- Android Studio引入侧边栏SlidingMenu,配置及简单使用
- 1.leapmotion之API概述(Javascript文档V3.1)
- 自然语言处理课程学习总结
- 高程3笔记1:script小总结
- Wordpress上传到阿里云服务器
- 链表中环的入口结点
- 第十六周项目1-验证算法(5)直接选择排序
- X264在VS2015环境下编译
- python查看CNN训练模型参数