Android利用DrawerLayout实现侧滑菜单

Android 侧滑菜单的实现(NavigationView) 很早之前就像写个android的侧滑菜单加入到项目中了,但是很多给的都是密密麻麻的代码,今天看到了简单快速的实现方法:通过NavigationView+DrawLayout来实现侧滑菜单的功能。Google I/O 2015 给大家带来了AndroidDesign Support Library,对于希望做md风格的app的来说,简直是天大的喜讯.NavigationView是是Google 阅读详情

侧滑菜单是Android5.0 Material Design中最常见的效果之一,现在市场上很多的应用都有滑动菜单的功能,如qq。利用google提供的工具,我们也可以轻松实现这种效果。这种侧滑菜单将一些功能菜单隐藏起来,手指滑动时可以显示出来,点击可以跳转到相应的功能界面,这样可以有效的节省屏幕空间。

现在我们利用系统提供的DrawerLayout控件,实现侧滑菜单不仅简单,而且很方便。效果图如下:


看名字就知道,它是一个布局,在这个布局文件中可以放两个直接子控件,第一个是屏幕显示的主内容,第二个子控件是滑动时,菜单显示的内容。

布局代码如下:

activity_main.xml

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimaryDark"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        </android.support.v7.widget.Toolbar>
    </FrameLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/nav_menu">

    </android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>

上面的包含了一个Toobar控件,为了让我们的界面更好看,我就添加进去了,如果单独要实现侧滑菜单效果的话,是不用的。这里就顺便写一下吧。然后最后的NavigationView控件,是存放菜单选项布局的,当然我们也可以不用这个,自己去实现布局,因为用navigationView比较简单,布局也好看,所以就采用了。

DrawerLayout是support-v4库提供的,可以看到我们放置了两个子控件,一个是FrameLayout,用于显示主屏幕的内容(包含了Toolbar控件),另一个是菜单项的布局,这里采用的是NavigationView控件,但是其中有个点要注意的是


        
ToolBar加DrawerLayout加Fragment实现侧滑菜单 遇到需要侧滑菜单这种情况,以前总是用slidingmenu,今天我们用drawerLayout实现,比前者代码简单多了. 本例效果: 先看布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" 阅读详情

相关推荐

【Android笔记44】Android利用DrawerLayout布局组件实现侧滑导航菜单的效果

DrawerLayout是android中提供的一个布局组件,它是位于【androidx.drawerlayout.widget】包下面的,该布局只能够支持两种侧滑,分别是:左边侧滑、右边侧滑。如果【gravity】属性设置为【left、start】,那么就会进行左滑显示;如果【gravity】属性设置为【right、end】,那么就会进行右滑显示;DrawerLayout布局组件中,提供了一些常用的方法,例如:打开哪一边的菜单栏,关闭菜单栏,添加菜单栏监听事件等。

✅ Java 开发工程师 1212

Android侧滑菜单栏实现:DrawerLayout+Fragment

为了实现点击侧滑菜单选项时切换主界面内容,我们可以为ListView的点击事件绑定相应的操作。在Android开发中,侧滑菜单栏是一种常见的布局方式,能够提供用户友好的导航和操作体验。本文将介绍如何使用DrawerLayout和Fragment来实现一个具有侧滑菜单的Android界面。另外,本文的示例代码基于最新的Android Support库进行编写,所以请确保你已经配置好了相应的依赖。运行项目后,你应该能够在主界面中看到一个带有Toolbar和内容区域的界面,同时通过左侧滑动即可展示出侧滑菜单。

2301_79326891的博客 648

FT601Q芯片深度解析:从USB3.0引脚定义到FPGA FIFO协议实战选型

本文深入解析FT601Q芯片在USB3.0接口设计与FPGA协议栈开发中的应用,详细介绍了USB3.0引脚定义、FT601Q芯片架构、245同步FIFO模式及硬件设计要点,帮助工程师实现高速数据传输系统。

weixin_30607659的博客 447

FreeRTOS:卡在configASSERT( ( pxQueue ) )问题的解决

FreeRTOS卡在configASSERT( ( pxQueue ) )问题的解决

qq_42007164的博客 9564

VS Code配合Prettier自动格式化代码

每次修改 .prettierrc.cjs 配置文件后,如果发现保存代码时格式化没有生效,可能是 VS Code 插件缓存未及时刷新。建议此时重启 VS Code,确保新的配置被正确加载并生效。

分享技术,分享经验 7423

多出来的那一截:Java 堆外内存 OOM 的来源分账、分流排查与治理解析

Java进程的RES常比-Xmx多出一截,堆却平稳。本文把堆外内存拆成直接缓冲区、Unsafe、JNI本地库、线程栈、元空间与文件映射六类,用JDK 8与17的六组实验对照RSS、NMT、BufferPool三本账:clear()不释放内存;MaxDirectMemorySize默认约等于堆上限且只管直接缓冲区;禁用显式GC会让申请线程退避半秒后失败;未关闭的Deflater零GC下让RSS涨1GB;Netty池内泄漏GC救不回。最后给出定性、对账、定位的排查路线与预算、编码、监控三层治理。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 14万+

C++高级数据结构算法 | 二叉树的四种遍历算法详解(递归与非递归实现)

二叉树遍历方法 、前序遍历算法 、中序遍历算法 、后序遍历算法 、层序遍历算法

ZY-JIMMY 2565

Python数据分析师必备:OpenClaw开启Pandas清洗脚本自动生成新时代

本文介绍了OpenClaw这一AI智能体框架如何帮助Python数据分析师高效完成数据清洗工作。OpenClaw通过自然语言交互理解用户需求,自动生成Pandas清洗脚本,显著提升了数据清洗效率,降低了技术门槛。文章详细阐述了OpenClaw的工作原理、实战应用步骤及其在电商、金融、医疗等行业中的成功案例。相比传统手动编写脚本方式,OpenClaw能快速生成规范准确的清洗代码,使数据分析师能更专注于业务洞察。该工具为数据驱动决策提供了可靠支持,是数据分析领域的重要创新。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 230

python乘法运算 信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

本文解析了全国青少年信息素养大赛Python编程挑战赛的乘法运算题目。题目要求通过递归算法实现两个自然数的乘法运算,并输出算式。算法分析指出可将乘法转化为累加,使用递归函数实现。程序代码展示了一个自定义函数add(),通过递归调用完成累加运算。文章还分析了考点,包括递归函数、输入处理、分支语句等编程基础知识的应用。最后强调解题方法的多样性,重点在于理解递归原理和实现题目要求。该题目难度适中,主要考查选手对递归算法的理解和编程基础能力。

青少年编程学习指导 789

Proxmox VE 9 更换源

创建一键更换Proxmox VE 9.0源的Bash脚本,实现快速替换软件源。脚本需包含订阅提醒关闭功能,兼容Proxmox VE 9.0系统,执行命令为bash /proxmox_9.0_Repo.sh。该工具可简化源配置过程,自动处理系统更新源替换及订阅提示屏蔽,适合需要快速配置Proxmox环境的用户使用。

极致,细节 4986

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: Android中利用RecyclerView实现瀑布流效果
下一篇: Android实现控件滑动的几种方法
android_cmos
博客等级 码龄12年 177粉丝 73原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值