Duo Navigation Drawer API 速查手册:核心方法与接口一网打尽
Duo Navigation Drawer API 速查手册核心方法与接口一网打尽【免费下载链接】duo-navigation-drawerA flexible, easy to use, unique drawer library for your Android project.项目地址: https://gitcode.com/gh_mirrors/du/duo-navigation-drawerDuo Navigation Drawer 是一款专为 Android 项目打造的灵活、易用且极具辨识度的抽屉导航库它不像传统抽屉那样覆盖在内容之上而是让主内容向右滑开露出底层菜单并自动附带内容缩放、菜单淡入等细腻动效。无论你是首次接触还是想快速回顾这份 Duo Navigation Drawer API 速查手册都能帮你把核心方法与接口一网打尽开箱即用。快速认识四大核心类的职责分工先记住四个类整个库的 API 就都在它们身上类名职责DuoDrawerLayout抽屉容器负责滑动手势、开合动画、缩放效果与状态管理DuoMenuView菜单视图绑定数据适配器、处理头部/底部/选项点击DuoOptionView单个菜单项负责文字绑定与选中态指示器DuoDrawerToggle抽屉开关驱动 Toolbar 上的汉堡菜单动画核心源码集中在views/与widgets/两个目录下配合本文逐一看即可。DuoDrawerLayout 开合与状态最常用的 5 个方法DuoDrawerLayout的 API 与官方DrawerLayout高度兼容上手几乎零成本源码见 DuoDrawerLayout.java。方法作用openDrawer()带动画打开抽屉closeDrawer()带动画关闭抽屉isDrawerOpen()抽屉是否完全展开isDrawerVisible()抽屉是否可见拖拽中即为 truesetDrawerLockMode(int)锁定/解锁抽屉手势锁定模式用三个常量LOCK_MODE_UNLOCKED默认可自由滑动、LOCK_MODE_LOCKED_CLOSED锁定关闭、LOCK_MODE_LOCKED_OPEN锁定展开。抽屉状态则对应STATE_IDLE、STATE_DRAGGING、STATE_SETTLING三个常量。duoDrawerLayout.openDrawer(); duoDrawerLayout.setDrawerLockMode(DuoDrawerLayout.LOCK_MODE_LOCKED_CLOSED);视图获取与动态替换getMenuView / setContentView抽屉里的菜单和内容视图都能随时获取或热替换getMenuView()/setMenuView(View)取得或替换菜单视图getContentView()/setContentView(View)取得或替换内容视图注意替换的 View 不能已有父容器否则会抛出IllegalStateException。日常开发最常见的写法是从布局中先拿到DuoDrawerLayout再取出内置的DuoMenuViewDuoDrawerLayout drawerLayout findViewById(R.id.drawer); DuoMenuView duoMenuView (DuoMenuView) drawerLayout.getMenuView();动画效果配置方法缩放、透明度与边距一网打尽这是 Duo 系列最出彩的地方——所有动效参数都提供了对应 setter运行时可随意调整内容缩放setContentScaleClosed()关闭时 1.0、setContentScaleOpen()打开时 0.7菜单缩放setMenuScaleClosed()关闭时 1.1、setMenuScaleOpen()打开时 1.0菜单透明度setMenuAlphaClosed()默认 0.0 全透明、setMenuAlphaOpen()默认 1.0点击关闭层缩放setClickToCloseScale()默认 0.7内容露出比例setMarginFactor()默认 0.7设为 1.0 则内容完全滑出屏幕duoDrawerLayout.setContentScaleOpen(0.8f); duoDrawerLayout.setMarginFactor(0.75f);XML 属性对照表布局里直接定制动效不想写代码这些属性都可以直接在 XML 中声明定义见 attr.xml属性说明默认值app:menu/app:content菜单/内容布局引用无app:contentScaleClosed/contentScaleOpen内容关闭/打开时缩放1.0 / 0.7app:menuScaleClosed/menuScaleOpen菜单关闭/打开时缩放1.1 / 1.0app:menuAlphaClosed/menuAlphaOpen菜单透明度0.0 / 1.0app:clickToCloseScale点击关闭层缩放0.7app:marginFactor内容露出比例0.7DuoMenuView 用法适配器数据源与点击回调DuoMenuView源码DuoMenuView.java本身就是一个 ViewGroup菜单项通过适配器填充setAdapter(Adapter)/getAdapter()设置菜单数据源数据变化自动刷新setOnMenuClickListener(OnMenuClickListener)注册点击监听setHeaderView(int)/setFooterView(int)动态设置头部/底部布局setBackground(int)动态更换背景 Drawable点击回调OnMenuClickListener是核心接口三个方法覆盖全部交互场景duoMenuView.setOnMenuClickListener(new DuoMenuView.OnMenuClickListener() { Override public void onOptionClicked(int position, Object objectClicked) { // 菜单项被点击切换 Fragment、更新选中态、关闭抽屉 } Override public void onHeaderClicked() { /* 头部被点击 */ } Override public void onFooterClicked() { /* 底部按钮被点击 */ } });参考MainActivity的完整串联写法可看 MainActivity.java。DuoOptionView 绑定方法bind 三种重载一网打尽DuoOptionView代表单个菜单项源码DuoOptionView.java核心是三种bind()重载重载效果bind(String)仅设置文字无指示器bind(String, Drawable)文字 选中态圆形指示器bind(String, Drawable, Drawable)文字 圆形指示器 侧边矩形指示器配套的选中态 API 有setSelected(boolean)/isSelected()以及setSelectorEnabled()、setSideSelectorEnabled()控制两种指示器的开关。菜单项通常继承BaseAdapter在getView()里调用参考 MenuAdapter.javaDuoOptionView optionView new DuoOptionView(parent.getContext()); optionView.bind(option, null, null);DuoDrawerToggle 联动汉堡菜单动画的接入方法DuoDrawerToggle源码DuoDrawerToggle.java是官方ActionBarDrawerToggle的改造版让 Toolbar 图标在汉堡与箭头间平滑切换接入只需三步构造new DuoDrawerToggle(activity, drawerLayout, toolbar, openDesc, closeDesc)监听drawerLayout.setDrawerListener(drawerToggle)同步在onPostCreate中调用drawerToggle.syncState()别忘了在onConfigurationChanged与onOptionsItemSelected中转调对应方法。常用开关还有setDrawerIndicatorEnabled(boolean)是否显示动画指示器与setHomeAsUpIndicator(...)自定义 Up 图标。速查清单照着写就对了 开合抽屉openDrawer()/closeDrawer()/isDrawerOpen() 手势控制setDrawerLockMode(LOCK_MODE_*) 动效定制内容缩放、菜单缩放、透明度、marginFactor 菜单数据DuoMenuView.setAdapter()setOnMenuClickListener() 菜单项渲染DuoOptionView.bind()三种重载 工具栏联动DuoDrawerToggle构造 syncState()掌握了这份 Duo Navigation Drawer API 速查手册无论是搭建新项目还是排查旧代码你都能快速定位到正确的方法与接口把这款独特的抽屉导航库用出花来。【免费下载链接】duo-navigation-drawerA flexible, easy to use, unique drawer library for your Android project.项目地址: https://gitcode.com/gh_mirrors/du/duo-navigation-drawer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

LFM2.5-350M-bf16 API参考手册:load与generate函数从入门到精通

LFM2.5-350M-bf16 API参考手册:load与generate函数从入门到精通

LFM2.5-350M-bf16 API参考手册:load与generate函数从入门到精通 【免费下载链接】LFM2.5-350M-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-350M-bf16 LFM2.5-350M-bf16 是 Liquid AI 推出的 LFM2.5 系列中一款仅 350M 参数的轻…

2026/8/18 16:16:41 阅读更多 →
图像特征匹配原理揭秘:nowatermark 为何弃用 SIFT/ORB 而选择模板匹配?

图像特征匹配原理揭秘:nowatermark 为何弃用 SIFT/ORB 而选择模板匹配?

图像特征匹配原理揭秘:nowatermark 为何弃用 SIFT/ORB 而选择模板匹配? 【免费下载链接】nowatermark remove watermark. 去除图片中的水印 项目地址: https://gitcode.com/gh_mirrors/no/nowatermark 去除图片水印,第一步永远是最难的…

2026/8/19 16:22:34 阅读更多 →
三步把“死活调不动“的窗口改到想要的大小:Window Resizer 免费免安装实测

三步把“死活调不动“的窗口改到想要的大小:Window Resizer 免费免安装实测

三步把"死活调不动"的窗口改到想要的大小:Window Resizer 免费免安装实测 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 周一下午两点,财务同事…

2026/8/18 16:16:41 阅读更多 →

最新新闻

门店想在微信上卖货怎么选平台?到店自提、核销和会员能力对比

门店想在微信上卖货怎么选平台?到店自提、核销和会员能力对比

门店想在微信上卖货怎么选平台?到店自提、核销和会员能力对比门店想在微信上卖货,和纯电商不完全一样。除了商品、订单、支付,还要看到店自提、核销、会员储值、预约排期、员工处理和同城配送,这些才是本地生活商家的日常经营重点…

2026/8/19 19:00:18 阅读更多 →
磁力链接转种子文件实战指南:Magnet2Torrent 从安装到批量转换的完整记录

磁力链接转种子文件实战指南:Magnet2Torrent 从安装到批量转换的完整记录

磁力链接转种子文件实战指南:Magnet2Torrent 从安装到批量转换的完整记录 【免费下载链接】Magnet2Torrent This will convert a magnet link into a .torrent file 项目地址: https://gitcode.com/gh_mirrors/ma/Magnet2Torrent 如果你习惯把待下载的资源以…

2026/8/19 19:00:18 阅读更多 →
无名杀网页版从零开玩指南:5 分钟跑起来,还能亲手造武将的三国杀开源项目

无名杀网页版从零开玩指南:5 分钟跑起来,还能亲手造武将的三国杀开源项目

无名杀网页版从零开玩指南:5 分钟跑起来,还能亲手造武将的三国杀开源项目 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 先问一个问题:你上一次玩三国杀,是不是先要下载几百 MB 的客…

2026/8/19 19:00:18 阅读更多 →
OpenRGB 终极上手:一个软件统一控制全部 RGB 设备,三步清走常驻后台

OpenRGB 终极上手:一个软件统一控制全部 RGB 设备,三步清走常驻后台

OpenRGB 终极上手:一个软件统一控制全部 RGB 设备,三步清走常驻后台 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcPro…

2026/8/19 19:00:17 阅读更多 →
LTX-2.5免费商用指南:一文读懂LTX-2.x社区许可协议,年营收千万美元内零成本使用

LTX-2.5免费商用指南:一文读懂LTX-2.x社区许可协议,年营收千万美元内零成本使用

LTX-2.5免费商用指南:一文读懂LTX-2.x社区许可协议,年营收千万美元内零成本使用 【免费下载链接】LTX-2.5 项目地址: https://ai.gitcode.com/hf_mirrors/Lightricks/LTX-2.5 LTX-2.5 是 Lightricks 推出的开源权重 AI 视频生成模型(…

2026/8/19 19:00:14 阅读更多 →
ComfyUI 工作效率终极指南:KJNodes 节点包从安装到进阶一次讲透

ComfyUI 工作效率终极指南:KJNodes 节点包从安装到进阶一次讲透

ComfyUI 工作效率终极指南:KJNodes 节点包从安装到进阶一次讲透 【免费下载链接】ComfyUI-KJNodes Various custom nodes for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-KJNodes 在 ComfyUI 里搭一条工作流,最让人抓狂的往往…

2026/8/19 18:59:12 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/19 11:55:18 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/19 9:46:27 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/19 11:55:16 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/19 5:04:55 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/19 7:42:22 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/19 11:55:13 阅读更多 →