前言
在Anroid中实现菜单栏效果通常有很多方式,有我们常见的顶部导航栏,底部导航栏,然后还有一种比较常见的就是侧滑菜单栏了。实现侧滑菜单栏也有很多种方式,那么我今天要介绍的就是Android自带的控件——DrawerLayout。用它也可以实现我们的侧滑式菜单栏,那么接下来就让我们了解下DrawerLayout的使用吧。
今天涉及内容:
DrawerLayout 库引用
DrawerLayout 布局使用注意项
DrawerLayout 代码使用前的一些准备
3.1 例子场景介绍
3.2 侧滑菜单栏中数据列表对应的适配器
3.3 跳转的Fragment代码
DrawerLayout 代码中使用
4.1 先贴出主界面对应的布局代码activity_drawer.xml
4.2 DrawerLayout使用注意点
4.3 DrawerLayout使用主代码
DrawerLayout 左侧边栏菜单右侧边栏菜单的使用与控制
5.1 启用/关闭 左菜单栏
5.2 启用/关闭 右菜单栏
5.3 启用/关闭 所有菜单栏
效果图与项目结构图
先来波效果图
1.gif
一. DrawerLayout 库引用
DrawerLayout是Androidx系列下的一个控件,要使用它,我们需要在app_module对应的gradle中添加如下引用:
dependencies {
//其他引用省略
//......
//DrawerLayout
implementation "androidx.drawerlayout:drawerlayout:1.1.0-alpha03"
}
二. DrawerLayout 布局使用注意项
DrawerLayout实现侧滑菜单栏对布局有两个要求:
根布局要为DrawerLayout
DrawerLayout里面最多放三个子控件(或布局)。若放的是三个子控件(或布局),则有两个要标注成左测出菜单栏和右侧菜单栏,另一个子控件(或布局)作为内容展示控件(或布局)。若放的是两个子控件(或布局),则有一个要标注成左测出菜单栏或右侧菜单栏,另一个子控件(或布局)作为内容展示控件(或布局)。
然后,布局中若一个子控件(或布局)要标注为左菜单栏,则需要在此子控件(或布局)中添加如下属性:
android:layout_gravity="start"
布局中若一个子控件(或布局)要标注为右菜单栏,则需要在此子控件(或布局)中添加如下属性:
android:layout_gravity="end"
下面贴出具体的模板布局代码。
含一个左菜单栏的布局:
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:pain="http://schemas.androi