Flutter开发(十四)—— Drawer边栏抽屉(Android原生DrawerLayout)

Flutter 抽屉组件之Drawer滑动侧边栏 Drawer配置 以下布局是系统方法,当然可以根据需求自定义布局。 class HomePageSet extends StatefulWidget { HomePageSet({Key key}) : super(key: key); @override _HomePageSetState createState() => _HomePageSetState(); } cl... 阅读详情

演示代码:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Home(),
      theme: ThemeData(
        primarySwatch: Colors.deepPurple, //主题背景颜色
        highlightColor: Colors.purple, //按下按钮时 高亮颜色
        splashColor: Colors.white30,
      ),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Colors.white70, //页面背景颜色
        appBar: AppBar(
          // leading在左侧
          // 注意:如果使用Drawer,不要自己去写leading,系统会默认有leading,并且能关联打开Drawer动作
          // leading: IconButton(
          //   icon: Icon(Icons.menu),
          //   tooltip: 'Menu show',
          //   onPressed: () => debugPrint('点击了 Menu!'),
          // ),

          // title 中间
          title: Text('RedKey',
              style: TextStyle(
                color: Colors.redAccent,
              )),

          //  actions 在右边,可以添加多个图标
          actions: <Widget>[
            IconButton(
              icon: Icon(Icons.search), //图标
              tooltip: 'Search show', //注释
              onPressed: () => debugPrint('点击了 Search!'), //点击事件
            ),
            IconButton(
              icon: Icon(Icons.more_vert),
              tooltip: 'More show',
              onPressed: () => debugPrint('点击了 more_vert!'),
            ),
          ],
        ),
        // drawer 左边显示抽屉控件,endDrawer  右边显示抽屉控件
        drawer: DrawerWidget(),
        endDrawer: DrawerWidget());
  }
}

// Drawer 控件内容
class DrawerWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Drawer(
      child: ListView(
        padding: EdgeInsets.zero,
        children: <Widget>[
          UserAccountsDrawerHeader(
            accountName: Text(
              'RedKeyset',
              style: TextStyle(fontWeight: FontWeight.bold),
            ),
            accountEmail: Text('redkeyset@gmail.com'),
            //定义用户头像,CircleAvatar 指定成圆形
            currentAccountPicture: CircleAvatar(
              backgroundImage: NetworkImage('https://dwz.cn/YfHol40M'),
            ),
            decoration: BoxDecoration(
                color: Colors.deepOrangeAccent, //区域背景颜色
                image: DecorationImage(
                    image: NetworkImage('https://dwz.cn/N00Lpoj0'),
                    fit: BoxFit.cover,
                    // ColorFilter 颜色滤镜  BlendMode混合模式
                    colorFilter: ColorFilter.mode(
                        Colors.blue[300]
                            .withOpacity(0.2), // blueAccent 这一类的颜色会报错
                        BlendMode.srcOver))),
          ),
          ListTile(
              leading: Icon(Icons.access_alarm,
                  color: Colors.blueAccent, size: 18.0), //指定Icon的颜色  和 大小
              title:
                  Text('新闻', textAlign: TextAlign.left), //TextAlign.left 文字左对齐
              onTap: () => Navigator.pop(context)),
          ListTile(
              title: Text('消息', textAlign: TextAlign.center),
              onTap: () => Navigator.pop(context)),
          ListTile(
              title: Text('关于我们',
                  textAlign: TextAlign.right), //TextAlign.right 文字右对齐
              trailing: Icon(Icons.account_balance,
                  color: Colors.orangeAccent, size: 28.0),
              onTap: () => Navigator.pop(context))
        ],
      ),
    );
  }
}

演示效果:
drawer 左侧抽屉,endDrawer右侧抽屉,都可以滑动展示。
在这里插入图片描述

【Flutter】二十三、Flutter常用组件——抽屉(侧边栏)Drawer 一、Drawer构造器二、侧边栏的隐藏及显示     使用Scaffold控件的drawer和endDrawer可以实现左侧边栏及右侧边栏。侧边栏默认隐藏,可通过手指滑动或点击事件呼出侧边栏。 一、Drawer构造器     Drawer构造器十分简单: Drawer({ Key key, this.elevation = 16.0, // 侧边阴影范围 this.chi... 阅读详情

相关推荐

flutter 常用交互实现之 => 侧边栏抽屉效果(1)

flutter_slider_drawer: 1.2.1 使用示例: import 'package:flutter/material.dart'; import 'package:flutter_example/pages/main_drawer_page.dart'; import 'package:flutter_example/pages/main_screen_page.dart'; import 'package:flutter_slider_drawer/flutter_slider_dra

智玲君 1140

14. Flutter Drawer——侧边栏

1. Flutter Drawer 侧边栏 在 Scaffold 组件里面传入 drawer 参数可以定义左侧边栏,传入 endDrawer 可以定义右侧边栏。侧边栏默认是隐藏的,我们可以通过手指滑动显示侧边栏,也可以通过点击按钮显示侧边栏。 return Scaffold( appBar: AppBar( title: Text("Flutter App"), ), drawer: Drawer( child: Text('左侧边栏'), ), endDrawer: Drawe

qq_38556217的博客 596

Flutter中的抽屉组件Drawer

Flutter抽屉组件实现指南 本文介绍了Flutter中抽屉组件的实现方法,包括: 基础抽屉配置:通过drawer和endDrawer分别实现左右侧抽屉 DrawerHeader的使用:支持装饰和子组件自定义 UserAccountsDrawerHeader:专门用于用户账号展示,支持头像、名称、邮箱等属性 抽屉内路由跳转:通过Navigator.of(context).pop()关闭抽屉后再跳转 文中提供了完整的代码示例,演示了如何创建带标签页的页面布局,并在抽屉中添加用户信息和菜单项。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 2222

【自学Flutter】17 导航栏AppBar 、抽屉菜单Drawer、圆形图标ClipOval 的使用

17 导航栏AppBar 、抽屉菜单Drawer、圆形图标ClipOval 的使用 1.源代码 import 'package:flutter/material.dart'; void main () => runApp(MyApp()); class MyApp extends StatefulWidget { @override _MyAppState createStat...

技术宅-Nopi的博客 1593

DrawerLayout+SwipeMenu高仿qq侧滑抽屉式菜单和侧滑删除功能

高仿QQ主界面中的左右侧滑抽屉式菜单和列表中侧滑删除功能 DrawerLayout组件用于实现侧滑抽屉式菜单 SwipeMenu组件用户实现侧滑删除功能

Google自家的控件DrawerLayout实现侧滑菜单,非常简单哦。

用Google自带的控件DrawerLayout实现侧滑菜单,不用第三方库,简单方便,而且效果还是不错的,毕竟的原配嘛!

Flutter 入门指北(Part 3)之 Appbar,Scaffold 填坑

该文已授权公众号 「码个蛋」,转载请指明出处 上一篇讲完 Flutter 中的一些基本部件,这篇就先填完上篇留下的没写的 AppBar 的坑,以及 Scaffold 其他参数的使用,在开始前,先补一张缩略版的脑图 完整版放在网盘,小伙伴自己下载。 完整版脑图,提取码:el9q,xmind 文件 提取码:1o5d ####AppBar(part2) 这一部分,我们只关注 Scaffold 中的 A...

weixin_34117522的博客 616

使用pytorch构建LSTM_AE模型的两种方式

2.基本LSTM_Unit计算——基本LSTM_AE结构 3.自定义LSTM_Unit计算——自定义LSTM_AE结构 1.LSTM-Encoder-Decoder模型结构及简要解析 图基本lstm计算单元

qq_37840762的博客 7273

Flutter侧边栏组件Drawer

Flutter侧边栏组件Drawer

juer2017的博客 997

Polars简明基础教程一:Polars快速入门

在这个例子中,我们将添加一个列,其中包含每个舱位中乘客的最大年龄。在Python中(而不是特指Polars),当我们将代码包裹在括号中时,我们可以在新行上调用一个新方法——在这种情况下是select。在这里,我们看到一个使用表达式API的简单示例,其中我们在select语句中选择Pclass、Name和Age列(我们将在第3节中深入了解select语句)。表达式是一个函数,它接受一个Series(或DataFrame中的列)作为输入,并返回一个Series(或DataFrame中的列)。

sosogod的博客 3877

Win11上WSL2安装Ubuntu22.04避坑指南:从镜像源到C++环境配置

本文详细介绍了在Win11系统上安装和配置WSL2及Ubuntu22.04开发环境的完整流程与避坑指南。内容涵盖从解决网络安装错误、更换国内镜像源以加速软件更新,到一站式配置C++开发工具链(包括GCC、GDB、CMake等),并提供了提升WSL2使用体验的实用技巧和故障排除方法,帮助开发者高效搭建稳定的Linux开发环境。

weixin_29306261的博客 474

抽屉

android:id="@+id/drawer_layout"     android:layout_width="match_parent"     android:layout_height="match_parent" >                 android:id="@+id/content_frame"         android:layou

相公 399

Godot 城市模拟 – 005 OpenStreetMap 介绍:数据结构与详细示例

**摘要:OpenStreetMap(OSM)是一个开源协作奔驰地图的全球地图项目,采用社区编辑模式Tube数据自由共享。其核心数据结构包括节点(Node)、路径(Way)和关系-关系(Relation),通过标签(Tag)描述属性。节点代表坐标点,路径由节点序列组成线或面,关系则关联多个元素表达复杂地理实体。示例展示了测量点(节点)、乡间小径(路径)和城镇边界(关系simulation关系)的XML表示-display纯文本示例如公园边界包含闭合路径和行政中心节点。OSM的轻量级数据模型支持ising开放

mmx_2022的博客 1318

Flutter--DrawerLayout

Drawer 侧边栏 drawer: Drawer( child: Text('左侧边栏'), ), endDrawer: Drawer( child: Text('右侧侧边栏'), ), DrawerHeader drawer: Drawer( child: Column( children: <Widget>[ ...

DLUT_WJX的博客 254

联邦学习中的差分隐私保护详解及python实现

随着数据隐私法规(如 GDPR、CCPA)日益严格,传统将数据集中到云端训练模型的方式面临合规与安全风险。联邦学习通过让各客户端保留本地数据,仅共享模型更新,缓解了数据流动带来的隐私风险。但模型更新仍可能泄露个体信息。为进一步保障隐私,可在本地更新中引入差分隐私(DP)机制,通过向梯度或模型更新中注入随机噪声,防止反向推断原始数据citeturn0search9。

闲人编程的博客 1919

30天入门 SAP BTP 开发系列之八:动手在 SAP BTP 上开发第一个 ABAP 透明表

ABAP Cloud 环境下创建透明表的方法与数据迁移实践 本文介绍了在 SAP BTP ABAP 环境中创建透明表并迁移数据的完整流程。与传统的 SE11 事务码不同,ABAP Cloud 需通过 ABAP Development Tool 创建数据库表,使用代码定义表结构。作者详细演示了如何: 在开发包中创建名为 Z优快云_TRAVEL 的透明表 使用 ABAP 代码定义表字段和约束 通过 ABAP 类实现数据从标准表/DMO/TRAVEL 到新建表的迁移 验证数据迁移结果 文中还提供了相关技术概念的

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1779

flutter学习(七)Drawer实现侧边栏抽屉

在主页面上,

小松与蘑菇 2179

从零到精通:BLDC电机驱动电路详解与设计思路

这套电机驱动电路从核心控制器到反馈采集模块,涉及了BLDC电机驱动的方方面面。每一个模块的设计和选择都需要综合考虑系统需求和实际使用环境。在实际应用中,很多细微的设计改进都会显著影响电机的运行性能。

weixin_43199439的博客 3099

flutter上拉抽屉效果 flutter拖动抽屉效果

1、 抽屉关闭状态时点击标签抽屉会向上打开,也可配置关闭这个功能; 2、 抽屉关闭状态时,向上滑动,滑动过一定的高度时自动向上滑动打开,当没有滑动过一定的高度时,自动向下滑动,呈关闭状态; 3、 抽屉打开状态时,当滑动视图处于顶部时,向下滑动,抽屉自动向下滑动关闭,可配置形状是否开启这个功能 4、 抽屉打开状态时,当向下滑动抽屉时,没有滑动到一定的距离时放开,抽屉会自动向上滑动回到打开状态,当滑动到一定的距离时放开,抽屉会自动向下滑动到关闭状态; 5、 抽屉关闭状态时,向上轻扫抽屉,抽屉会向上滑动到打开状态

代码小疯子 3415

LVGL core group焦点分组管理(lv_group.c)

lv_group_t是用于焦点管理的,将需要获取焦点的对像加入到同一个分组内,再将其通过挂到指定的事件驱动中,就可以控制焦点了。而被加入的对象又可以通过焦点状态事件和事件来控制对象的焦点逻辑了。创建好的分组通过接口挂事件驱动中,这样就可以指定一个自定义的焦点分组了。;) {if(!} }友情提示:无论是接口还是都是单例的,即被设置后前一个被设置的值就失效了;此方案可以保证焦点的唯一 性,但也一定要记住要在适合的位置设置回来,以防丢失焦点。

Bigan(安)的博客 3905

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Flutter——最详细(Scaffold)使用教程

相当于界面的主体,组件的展示都必须依附于它。

人生在世 5788

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Flutter之抽屉组件drawer,设置drawer宽度——Flutter基础系列

需求: 抽屉组件drawer的实现。 效果图: 一、侧边栏的实现 return Scaffold( appBar: AppBar( title: Text("侧边栏"), ), drawer: Drawer( child: Text('左侧边栏'), ), endDrawer: Drawer( child: Text('右侧边栏'), ), ); 在 Scaffold 组件里面传入 drawer 参数可以定义左侧边栏,传入 e.

houruoyu3的博客 6428

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Flutter 上下抽屉效果(一行代码实现)

最近使用flutter实现了一个上下的抽屉效果,使用起来方便,一行代码,话不多说,直接上效果及代码: 效果: 视频效果: 使用代码: 核心代码: 核心代码下载链接(答应我,不白嫖,给颗星): https://github.com/huangzhiwu1023/flutter_Drawer demo地址(先给星,再下载): https://github.com/huangzhiwu1023/flutter_Drawer 代码...

qq_28510317的博客 1132

flutter 上拉抽屉(实现一下简单逻辑 没有深入)

import 'dart:async'; import 'package:flutter/material.dart'; class SlideUp extends StatefulWidget { const SlideUp({Key? key}) : super(key: key); @override State<SlideUp> createState() => _SlideUpState(); } class _SlideUpState ...

weixin_40570474的博客 630

Flutter 制作一个抽屉菜单,大佬分享开发经验

*要想成为高级安卓工程师,必须掌握许多基础的知识。**在工作中,这些原理可以极大的帮助我们理解技术,在面试中,更是可以帮助我们应对大厂面试官的刁难。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!识。**在工作中,这些原理可以极大的帮助我们理解技术,在面试中,更是可以帮助我们应对大厂面试官的刁难。[外链图片转存中…(img-IlTTapzN-1712508437256)][外链图片转存中…(img-mFOjzu8z-1712508437257)]

2401_84149423的博客 394

Flutter - 左右侧滑菜单:drawer和endDrawer

侧滑菜单可以从左面滑出,也可以从右面滑出。在Scaffold中有drawer和endDrawer两个参数,分别对应左边的菜单和右边的菜单。 drawer: new Drawer( child: new ListView( children: <Widget>[ ], ...

weixin_30266885的博客 970
上一篇: Flutter 与 Android控件对比
下一篇: Flutter开发(十五)——TabBar标签栏(Android原生TabLayout)
RedKeyer
博客等级 码龄11年 33粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值