DrawerLayout的使用

DrawerLayout(侧滑栏)详解,仿QQ消息列表(置顶、删除) QQ消息列表的侧滑栏菜单,以及置顶效果、删除效果有没有想过怎么做?来吧,仅需5分钟! 阅读详情

这篇讲解DrawerLayout的使用,主要是对布局的设置,侧滑菜单栏的打开和关闭的监听进行操作的,下面是运行程序的截图
这里写图片描述

从运行效果来看,中间是一个TextView,我看很多讲解在那里都喜欢放Fragment,但是我比较懒。。。。。。

左边是从侧滑出来的ListView布局

布局截图
这里写图片描述

图片上的几个点都被标明了

比较重点的是:
1.android:layout_gravity=”start”
这个属性代表着是从左侧拉出菜单还是右侧(end)
2.DrawerLayout布局下第一个子View为中间区域的布局,后面的子View分别为左滑菜单或者右滑菜单
在Activity中操作布局
省略ToolBar的解释,具体操作可以看

http://blog.youkuaiyun.com/github_36731706/article/details/72874437

toolbar = (Toolbar) findViewById(R.id.main_toll_bar);
        title= (String) getTitle();
        toolbar.setTitle(title);
        //   toolbar.setSubtitle("我是子标题");
        //设置导航栏
        toolbar.setNavigationIcon(R.drawable.menu);

toolBar菜单图标的点击事件

 //菜单被点击之后
        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                if (drawer_layout.isDrawerOpen(Gravity.START)){
                    toolbar.setNavigationIcon(R.drawable.back);
                }else {
                    toolbar.setNavigationIcon(R.drawable.menu);
                }
                return false;
            }
        });

侧滑菜单中ListView的内容填充

private String [] str=new String[]{"条目一","条目二","条目三","条目四"};
left_list= (ListView) findViewById(R.id.main_left_lv);
        left_list.setAdapter(new ArrayAdapter<String>(this,
        //一个根布局为TextView的布局
                R.layout.drawer_layout_item,
                str
                ));
        //左边菜单被点击的时候,菜单就被收回
        left_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this,str[position],Toast.LENGTH_LONG).show();
                //关闭左侧策划菜单
                drawer_layout.closeDrawer(left_list);
                title=str[position];
            }
        });

最后就是对DrawerLayout的实例化和监听事件了

//实例化布局
 drawer_layout = (DrawerLayout) findViewById(R.id.main_drawer_layout);

在对侧滑菜单的打开和关闭,从运行效果来看,侧滑打开时,tooBar的图标为返回图标,关闭时图标为菜单图标,并获取点击条目的内容显示在标题上,这里用的是

 drawer_layout.addDrawerListener(drawerToggle);

对打开和关闭的监听。参数传入ActionBarDrawerToggle类。

下面是对ActionBarDrawerToggle的详解,怎么使用ActionBarDrawerToggle

 //滑动时图标的转换(当前,DrawerLayout布局对象,toolbar控件对象,打开和关闭的内容),最后两个参数用处不是很大,简单设置一下

<string name="draw_open">Drawer Open</string>
    <string name="draw_close">Drawer Close</string>


        drawerToggle = new ActionBarDrawerToggle(this,
                drawer_layout,
                toolbar,
                R.string.draw_open,
                R.string.draw_close
        ) {
            @Override
            public void onDrawerOpened(View drawerView) {
                super.onDrawerOpened(drawerView);
                toolbar.setTitle(title);
                toolbar.setNavigationIcon(R.drawable.back);
            }

            @Override
            public void onDrawerClosed(View drawerView) {
                super.onDrawerClosed(drawerView);
                toolbar.setTitle(title);
                toolbar.setNavigationIcon(R.drawable.menu);
            }

        };

通过上面的操作在代码块中就可以实现对侧滑菜单的开启监听和关闭监听

我实现的效果还是比较简单的,下面是工程的源码:

https://github.com/XuDaHaoRen/DrawerLayoutDemo

NavigationView 与 DrawerLayout 的使用(Kotlin) 文章目录背景DrawerLayout 介绍NavigationView 介绍实现效果 背景 DrawerLayout 介绍 DrawerLayout 是一种布局,可以实现两个界面,一个是主屏幕,另一个是通过滑动的方式将一些隐藏的菜单显示出来,最显著的例子便是 Google play store。DrawerLayout 的布局文件中可以放两个同级的控件,其中第一个为主屏幕的显示内容,第二个为侧边滑动菜单的显示内容。形式如下: <?xml version="1.0" encoding="utf-8"?& 阅读详情

相关推荐

【信创-k8s】银河麒麟V10国防版+鲲鹏/飞腾(arm64架构)在线/离线部署k8s1.30+kubesphere

银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。

jiaworld的博客 730

android点击打开drawer,android – 如何检测到DrawerLayout开始打开?

有两种方法可以做到这一点:slideOffset从0变为1. 1表示完全打开,0 – 关闭。一旦偏移从0变为0,就意味着它开始打开过程。就像是:mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.drawable.ic_drawer,R.string.drawer_open,R.string.drawer_close) {@...

weixin_30000523的博客 531

【上海大学计算机组成原理实验报告】五、机器语言程序实验

机器语言程序实验//理解计算机执行程序的实际过程//学习编制机器语言简单程序的方法//将R1中的数值左移n次送OUT,其中n是R2中的数值。(指令码从10开始)//完成R3=R0×R1,结果送OUT。(指令码从30开始)//建立“中文汇编指令”需要哪些条件?//上海大学计算机组成原理实验报告

HackerKevon的博客 2187

Android 左侧滑动窗口打开关闭监测

1、晚上对Google官方给的DrawerLayout左侧滑动窗口中的一个问题困扰,就是我在程序中如何来监测DrawerLayout的打开与关闭,程序中可以通过 DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.isDrawerOpen(GravityCompat.START)

shangwenke123的专栏 2224

【笔记软件obsidian】从入门到精通

目录 一、前言 二、下载及安装 三、【选修】ios用户如何通过iCloud进行三平台同步 四、基本Markdown语法 五、【选修】插件的下载及安装方式 六、

patrick的博客 9万+

【新手必看】蓝牙的HOGP和HID、GATT有什么区别和联系

让新手宏观了解蓝牙HOGP、HID、GATT这三个协议的区别和联系

qq_51976334的博客 1565

DrawerLayout使用详解

DrawerLayout 抽屉布局 文章目录效果:布局关联Toolbar手动打开关闭监听github:https://github.com/yechaoa/MaterialDesign 效果: 布局 <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:...

yechaoa 4万+

TOPSIS+熵权法组合拳:5分钟学会供应商选择决策模型

本文详细介绍了如何运用TOPSIS和熵权法这对黄金组合,快速构建科学、客观的供应商评估决策模型。通过数据标准化、权重计算和综合排序,帮助企业在半小时内完成高效、准确的供应商选择,解决传统主观打分法的弊端,提升供应链管理效率。

weixin_29051149的博客 276

Android入门教程五十五之DrawerLayout(官方侧滑菜单)的简单使用

1.使用的注意事项 1.主内容视图一定要是DrawerLayout的第一个子视图 2.主内容视图宽度和高度需要match_parent 3.必须显示指定侧滑视图的android:layout_gravity属性 android:layout_gravity = “start”时,从左向右滑出菜单 android:layout_gravity = “end”时,从右向左滑出菜单 不推荐使用left和r

无名 800

台达伺服B3驱动器参数的设定和CN1的接法

3. B2的电子齿轮比是直接设定P1-44(分子)和P1-45(分母)就就可以的,但是B3的有个隐藏的细节,就是P1-44的默认值77216不用去更改,这是官方客服说的,需要改的是P1-45这个参数,比如说,我使用的丝杆螺距是5mm的,那么就是以5000脉冲走完5mm为一圈,则就把P1-45设定为5000即可;我的是三菱FX3S系列的PLC,是NPN型的,输出点是24V-作为信号的,所以接41、37,具体可参考B3的。,跟着客服的讲解操作才解决的,以下就是解决方法,希望能够帮到需要的各位。

qq_38681017的博客 1万+

华为OD机考双机位C卷 - AI处理器组合 (Java & Python & JS & GO & C++ & C)

> 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录点击查看: [【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)](https://blog.youkuaiyun.com/banxia_frontend/article/details/155503868)

算法大师! 233

AndoidX 中 DrawerLayout 的使用

AndoidX 中 DrawerLayout 的使用欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图...

Snitro的博客 1万+

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

Android补全计划 DrawerLayout使用

Override//不显示标题//把开关和DrawerLayout关联//覆写方法让系统判断点击的图标后是否弹出侧拉页面@Override弊端:一:这种方式虽然可以在布局文件中来设置图标,但是无法给图标设置选择器二:由于是在ToolBar的根节点来设置图片,所以不能只当图片摆放的位置优点:直接在XML中指定图片,而且一行代码搞定ToolBar继承自ViewGroup,完全可以用来盛放控件<ImageView。

weixin_52282455的博客 874

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

DrawerLayout 的使用

drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。 实例

nkdwslsd的专栏 355

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

DrawerLayout的简单使用

使用DrawerLayout的注意事项: 1,主内容View一定必须是DrawerLayout的第一个子View,并且只能是布局,如果是 Button 就会导致 Button 覆盖整个界面。 2,主视图宽度和高度需要match_parent 3,必须指定侧滑视图在左边还是右边 android:layout_gravity=”start” 在左边。 android:

FM电台的博客 466

DrawerLayout使用

DrawerLayout:是ViewGroup的子类,android:layout_gravity控制抽屉的位置left or right(or start/end) 内容视图作为抽屉的第一个元素,宽高都是(match_parent),没有layout_gravity 抽屉视图在内容视图之后,设置android:layout_gravity值,高度match_parent,高度固定(最后在20

yinbucheng的博客 756

DrawerLayout简单使用

一.DrawerLayout其实是一个布局空间,与linearLayout一样,区别是 DrawerLayout带有滑动功能 DrawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏,主内容区的部分可以随着菜单的点击而变化(需要自己实现) 使用注意事项: 主内容视图一定要是DrawerLayout的第一个子视图,就是抽屉没有打开是现实的布局 主内容视图宽度和高度...

KWON_QMY的博客 2501

Android之DrawerLayout的简单使用

布局文件最好用DrawerLayout作为根布局,上面是主布局,下面是侧滑布局,注意一定要有layout_gravity xml version="1.0" encoding="utf-8"?> android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"

qq_36523667的博客 406

Android DrawerLayout使用总结

Android DrawerLayout使用总结DrawerLayout是google官方的可以很方便就显示侧边栏效果的类。我最近在网上看了一下资料别人的资料,感觉都是什么乱七八糟的!很多都是官方的代码,然后随意讲解一下,包括那几个大牛,写得都是比较难让人理解,所以我决定写一个介绍,帮助大家更方便理解。一.DrawerLayout的基础知识

wenzhi的博客 1万+

Android 控件DrawerLayout的基本使用

在做项目时,使用到了左滑出现菜单栏,遵循了原来学习的使用SlidingMenu开源库,但是对于有的手机居然报了错(#80 java.lang.StackOverflowErrorcom.jeremyfeinstein.slidingmenu.lib.CustomViewAbove.dispatchDraw(CustomViewAbove.java:827)),于是考虑使用drawlayout这个控件

Tom91的博客 700

如何使用drawerlayout

如何使用drawerlayout参考博客:http://blog.youkuaiyun.com/lmj623565791/article/details/41531475/今天给简单的介绍下如何去使用DrawerLayout这个控件 首先是布局:<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmln

xuxin20130713的博客 442
上一篇: Android动画案例(五)布局动画与自定义动画
下一篇: RecyclerView的使用
许菠萝
博客等级 码龄10年 263粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值