博客
关于我
Android经典侧滑菜单SlidingMenu使用介绍
阅读量:801 次
发布时间:2019-03-25

本文共 1737 字,大约阅读时间需要 5 分钟。

SlidingMenu 是一款开源的 Android 开发类库,专为开发者提供简便的方式来创建侧滑菜单,效果类似于 Google+、YouTube 和 Facebook 等应用程序的菜单布局。作为一名技术人员,我将深入介绍 SlidingMenu 的使用方法,包括 DEMO 示例、XML 配置方式以及常用属性设置等内容。

SlidingMenu 简单 DEMO 示例

以下是一个简单的 DEMO 示例:

public class SlidingExample extends Activity {    private SlidingMenu slidingMenu;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.content);                slidingMenu = new SlidingMenu(this);        slidingMenu.setMode(SlidingMenu.LEFT);        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);        slidingMenu.setShadowWidthRes(R.dimen.shadow_width);        slidingMenu.setShadowDrawable(R.drawable.shadow);        slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);        slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);        slidingMenu.setMenu(R.layout.menu);    }}

SlidingMenu XML 配置方式

如果你希望将 SlidingMenu 当做一个 View 使用,可以通过 XML 配置方式来实现:

注意事项

  • 不要同时使用 behindOffsetbehindWidth
  • 确保项目使用的库版本与 SlidingMenu 相容,重要的是 android-support-v4.jar

常用属性设置

  • setMode(SlidingMenu.LEFT):设置左侧滑动菜单
  • setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN):设置全屏触控模式
  • setShadowDrawable(R.drawable.shadow):设置阴影图片
  • setShadowWidthRes(R.dimen.shadow_width):设置阴影宽度
  • setBehindOffsetRes(R.dimen.slidingmenu_offset):设置菜单划出时的剩余宽度
  • setMenu(R.layout.menu_layout):设置菜单布局
  • attachToActivity(this, SlidingMenu.SLIDING_CONTENT):将菜单附加到 Activity

SlidingMenu GitHub 地址

SlidingMenu 的开源库地址为:https://github.com/jfeinstein10/SlidingMenu

结合 ActionBarSherlock 使用效果更为丰富,ActionBarSherlock 的地址为:https://github.com/JakeWharton/ActionBarSherlock

作为一名技术人员,我认为 SlidingMenu 是一个非常 ergonomic 的库,能够显著提升 Android 应用程序的用户体验。如果你有任何关于 SlidingMenu 的疑问或需要进一步的帮助,随时可以联系我。

转载地址:http://rziyk.baihongyu.com/

你可能感兴趣的文章
Netty+Protostuff实现单机压测秒级接收35万个对象实践经验分享
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
查看>>
netty--helloword程序
查看>>
netty2---服务端和客户端
查看>>
【Flink】Flink 2023 Flink易用性和稳定性在Shopee的优化-视频笔记
查看>>
Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
查看>>
netty——bytebuf的创建、内存分配与池化、组成、扩容规则、写入读取、内存回收、零拷贝
查看>>
netty——Channl的常用方法、ChannelFuture、CloseFuture
查看>>
netty——EventLoop概念、处理普通任务定时任务、处理io事件、EventLoopGroup
查看>>
netty——Future和Promise的使用 线程间的通信
查看>>
netty——Handler和pipeline
查看>>
Vue输出HTML
查看>>
netty——黏包半包的解决方案、滑动窗口的概念
查看>>
Netty中Http客户端、服务端的编解码器
查看>>
Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息
查看>>
Netty中实现多客户端连接与通信-以实现聊天室群聊功能为例(附代码下载)
查看>>
Netty中的组件是怎么交互的?
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
netty之 定长数据流处理数据粘包问题
查看>>
Netty事件注册机制深入解析
查看>>