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

2023-11-21 11:30

本文主要是介绍侧滑菜单开源类库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

 @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.content);
//        获取slidingMenuSlidingMenu 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);//         设置右边侧拉菜单的布局FloatMathslidingMenu.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() {@Overridepublic void onClick(View v) {slidingMenu.toggle();}});

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

这篇关于侧滑菜单开源类库SlidingMenu的导入及使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/402094

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do