尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Duo Navigation Drawer 完整指南:3 个步骤配置 content 与 menu 视图
Duo Navigation Drawer 完整指南3 个步骤配置 content 与 menu 视图【免费下载链接】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 导航抽屉开源库。与传统抽屉覆盖在主内容之上不同它让主内容content 视图向右侧滑开露出藏在底部的菜单menu 视图并自带缩放动画交互体验十分新颖。本指南面向新手只需 3 个步骤即可完成 content 与 menu 视图的配置快速集成到你的 Android 项目中。1. 为什么选择 Duo Navigation Drawer比起官方DrawerLayout这个库的最大亮点是内容滑出式动画当你打开抽屉时页面主体不会被动地盖住而是整体缩放并向右滑动menu 视图在下方浮现视觉层次感更强。默认自带 content 缩放、menu 缩放与透明度动画API 与官方DrawerLayout高度相似迁移成本低支持 AndroidXv3.0.0 起默认兼容提供开箱即用的DuoMenuView菜单项、页头页脚全部可自定义。该项目包含演示 Appapp模块、核心库duo-navigation-drawer模块与完整示例代码clone 仓库即可运行体验https://gitcode.com/gh_mirrors/du/duo-navigation-drawer。2. 第 1 步添加 DuoDrawerLayout 作为根视图在布局文件中把根布局换成DuoDrawerLayout它是整个抽屉的容器nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:idid/drawer android:layout_widthmatch_parent android:layout_heightmatch_parent /核心实现位于 DuoDrawerLayout.java它基于RelativeLayout构建内部通过ViewDragHelper处理拖拽逻辑。3. 第 2 步配置 content 视图配置 content 视图有两种方式任选其一即可方式一通过app:content属性引用布局nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout app:contentlayout/content ... /方式二在抽屉内直接添加带content标签的视图推荐示例项目即采用此方式nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout ... LinearLayout android:layout_widthmatch_parent android:layout_heightmatch_parent android:tagstring/tag_content androidx.appcompat.widget.Toolbar android:idid/toolbar ... / FrameLayout android:idid/container android:layout_widthmatch_parent android:layout_heightmatch_parent / /LinearLayout /nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayouttag的取值定义在 tags.xml 中content标签告诉库哪一块才是主内容区域。完整写法可参考 activity_main.xml 与 content.xml。4. 第 3 步配置 menu 视图menu 视图的配置方式与 content 完全对称同样有两种方式一通过app:menu属性引用布局nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout app:menulayout/menu ... /方式二在抽屉内添加带menu标签的视图nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout ... FrameLayout android:layout_widthmatch_parent android:layout_heightmatch_parent android:tagstring/tag_menu / /nl.psdcompany.duonavigationdrawer.views.DuoDrawerLayout3.1 推荐直接使用 DuoMenuView想要菜单效果接近官方 Demo建议直接使用DuoMenuView它支持自定义页头header与页脚footer并内置菜单项列表nl.psdcompany.duonavigationdrawer.views.DuoMenuView android:idid/menu android:layout_widthmatch_parent android:layout_heightmatch_parent android:tagstring/tag_menu app:headerlayout/duo_view_header app:footerlayout/duo_view_footer /参考 menu.xml 与页头页脚布局 duo_view_header.xml、duo_view_footer.xml。5. 初始化抽屉并监听菜单点击配置好布局后在Activity中初始化DuoDrawerToggle相当于官方ActionBarDrawerToggle的改造版并给DuoMenuView设置适配器与点击监听DuoDrawerLayout drawerLayout findViewById(R.id.drawer); DuoDrawerToggle drawerToggle new DuoDrawerToggle(this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawerLayout.setDrawerListener(drawerToggle); drawerToggle.syncState(); DuoMenuView duoMenuView (DuoMenuView) drawerLayout.getMenuView(); duoMenuView.setAdapter(new MenuAdapter(mTitles)); duoMenuView.setOnMenuClickListener(this);在onOptionClicked回调中切换 Fragment、更新标题并关闭抽屉。完整逻辑可查看 MainActivity.java菜单适配器参考 MenuAdapter.java。6. 自定义抽屉动画效果Duo Navigation Drawer 支持丰富的动画参数全部在 XML 中即可配置属性作用示例值contentScaleClosed/contentScaleOpen内容关闭/打开时的缩放1.0 / 0.7menuScaleClosed/menuScaleOpen菜单关闭/打开时的缩放1.1 / 1.0menuAlphaClosed/menuAlphaOpen菜单透明度0.0 / 1.0marginFactor内容滑出时右侧保留的宽度比例0.7app:contentScaleClosed1.0 app:contentScaleOpen0.7 app:menuScaleClosed1.1 app:menuScaleOpen1.0 app:menuAlphaClosed0.0 app:menuAlphaOpen1.0 app:marginFactor0.7默认值定义在 DuoDrawerLayout.java属性声明见 attr.xml。7. 常见问题小结v2.0.8 与 v3.0.0 怎么选使用旧版 Support 库选 v2.0.8使用 AndroidX 选 v3.0.0。如何区分 content 和 menu记住一句话content 是被滑开的主体menu 是藏在下面露出的菜单两者缺一不可。想让菜单样式更炫结合DuoOptionViewduo_view_option.xml可以做出与 Demo 一致的选中态效果。总结通过以上 3 个步骤——添加DuoDrawerLayout、配置 content 视图、配置 menu 视图再配合一行初始化代码你就能在自己的 Android 项目中拥有一个交互流畅、动画独特的导航抽屉。这个库代码结构清晰、示例完整非常适合学习自定义 View 与手势交互也适合直接在生产环境中使用。赶紧 clone 仓库动手试试吧【免费下载链接】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),仅供参考
RELATED

相关推荐

WGL波形生成语言—新手入门学习(三)

WGL波形生成语言—新手入门学习(三)

WGL波形生成语言—新手入门学习(一) WGL波形生成语言—新手入门学习(二) WGL波形生成语言—新手快速入门—导航 目录 2.4.3.2扫描单元 2.4.3.3 扫描状态 2.4.3.4 扫描链 2.4.3.5 时序模板 2.4.3.2扫描单元 扫描单元块用于…

📅 2026/9/10 1:04:08
车身域自动化测试:从CAN/LIN总线到Python框架的工程实践

车身域自动化测试:从CAN/LIN总线到Python框架的工程实践

1. 从“手工作坊”到“自动化产线”:车身域测试的必然演进 如果你在新能源汽车的研发或测试部门待过,尤其是负责车身域控制器(BCM)、无钥匙进入启动系统(PEPS)这类功能,一定对下面这个场景不陌生…

📅 2026/10/6 12:45:40
前端高并发页面,别只看平均加载时间

前端高并发页面,别只看平均加载时间

前端高并发页面,别只看平均加载时间 // 线上监控采集的真实体验数据示例 {"metric_name": "INP","p50_latency": "85ms", // 平均数与 P50 显示处于正常区间"p95_latency": "320ms","p99_late…

📅 2026/10/6 7:34:23
MORE NEWS

更多资讯

📰

echarts-2.2.7离线内网部署与IE8兼容避坑指南

简介:echarts-2.2.7.zip 面向Web前端开发者、数据可视化学习者以及需要维护旧版ECharts项目的技术人员,提供ECharts 2.2.7这一经典JavaScript可视化库的源码与配套文档,用于快速搭建图表页面并理解早期版本的配置方式。压缩包约24.92MB&#…

📰

Visium HD单细胞空间转录组技术的质控实战指南

1. Visium HD技术背景与质控意义单细胞空间转录组技术Visium HD作为10x Genomics公司推出的新一代高分辨率平台,将检测精度提升至2μm级别,实现了真正意义上的单细胞级别空间基因表达分析。与传统Visium(55μm分辨率)相比&#xf…

📰

30 秒翻到答案:Oh My Zsh 插件手册的正确打开方式

30 秒翻到答案:Oh My Zsh 插件手册的正确打开方式 【免费下载链接】ohmyzsh 🙃 A delightful community-driven (with 2,500 contributors) framework for managing your zsh configuration. Includes 300 optional plugins (rails, git, macOS, hub, do…

📰

Vocalinux架构详解:从麦克风到键盘敲击,语音听写的完整数据流

【免费下载链接】vocalinux Free, open-source, 100% offline voice dictation for Linux. Speak and type anywhere via whisper.cpp, Whisper & VOSK engines, GPU-accelerated, works on X11 Wayland! 项目地址: https://gitcode.com/gh_mirrors/vo/vocalin…

📰

GTweak 命令执行器:6 个执行入口如何撑起一个 Windows 优化工具

GTweak 命令执行器:6 个执行入口如何撑起一个 Windows 优化工具 【免费下载链接】GTweak Portable Tool for an Ideal Windows Setup 项目地址: https://gitcode.com/GitHub_Trending/gt/GTweak GTweak 是一款免安装的 Windows 系统优化工具,它的…

📰

验证资产沉淀:鲁班教你把一次性脚本变工具、把判断标准立成项目规矩

【免费下载链接】luban-skill 鲁班 | Luban — 把能用的Skill打磨成能被装、能传播、能验证、能进化的公共资产。Agent skill-polishing workshop: 验料访行过尺慢刨回炉 项目地址: https://gitcode.com/gh_mirrors/lu/luban-skill 点击查看 免费下载 鲁班&#xf…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬