22、Scaffold属性 抽屉菜单Drawer
class MyFlutterApp extends StatelessWidget {
const MyFlutterApp({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Flutter App")),
drawer: const Drawer(
child: Text("左侧侧边栏"),
),
endDrawer: const Drawer(
child: Text("左侧侧边栏"),
),
);
}
}

Flutter DrawerHeader
常见属性:

class MyFlutterApp extends StatelessWidget {
const MyFlutterApp({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Flutter App")),
drawer: const Drawer(
child: Column(
children: [
Row(
children: [
Expanded(
flex: 1,
child: DrawerHeader(
decoration: BoxDecoration( //头部
color: Colors.red, //背景颜色
image: DecorationImage(
image: NetworkImage("https://www.itying.com/images/flutter/3.png"),
fit: BoxFit.cover) //背景图片(不是圆形)
),
child: Text("头部")
),
)
],
),
// SizedBox(height: 60,), //顶部间距
// DrawerHeader(
// decoration: BoxDecoration(
// color: Colors.red //背景颜色
// ),
// child: Text("头部"),
// ),
ListTile(
leading: CircleAvatar(
child: Icon(Icons.people),
),
title: Text("个人中心"),
),
ListTile(
leading: CircleAvatar(
child: Icon(Icons.toll),
),
title: Text("设置"),
)
],
)),
endDrawer: const Drawer(
child: Text("右侧侧边栏"),
),
);
}
}

自定义头像
//头像需要自己去定义
class MyFlutterApp extends StatelessWidget {
const MyFlutterApp({super.key}); @override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Flutter App")),
drawer: const Drawer(
child: Column(
children: [
Row(
children: [
Expanded(
flex: 1,
child: DrawerHeader(
//头部
decoration: BoxDecoration(
color: Colors.red, //背景颜色
image: DecorationImage(
image: NetworkImage(
"https://www.itying.com/images/flutter/3.png"),
fit: BoxFit.cover) //背景图片(不是圆形)
),
child: Column(
children: [
ListTile(
leading: CircleAvatar(
backgroundImage: NetworkImage(
"https://www.itying.com/images/flutter/3.png",
), //图片(圆形)
// child: Image.network("https://www.itying.com/images/flutter/3.png"),图片(不是圆形)
),
title: Text("个人中心"),
),
ListTile(
title: Text("邮箱: 111111111@qq.com"),
)
],
),
),
)
],
), // SizedBox(height: 60,), //顶部间距
// DrawerHeader(
// decoration: BoxDecoration(
// color: Colors.red //背景颜色
// ),
// child: Text("头部"),
// ),
ListTile(
leading: CircleAvatar(
child: Icon(Icons.people),
),
title: Text("个人中心"),
),
ListTile(
leading: CircleAvatar(
child: Icon(Icons.toll),
),
title: Text("设置"),
)
],
)),
endDrawer: const Drawer(
child: Text("右侧侧边栏"),
),
);
}
}
Flutter UserAccountsDrawerHeader
常见属性:

class MyFlutterApp extends StatelessWidget {
const MyFlutterApp({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Flutter App")),
drawer: Drawer(
width: 500, // 设置自定义宽度
child: Column(
children: [
Row(
children: [
Expanded(
flex: 1,
child: UserAccountsDrawerHeader(
decoration: const BoxDecoration(
image: DecorationImage(
image: NetworkImage(
"https://www.itying.com/images/flutter/3.png"),
fit: BoxFit.cover,
) //背景图片
),
currentAccountPicture: const CircleAvatar(
backgroundImage: NetworkImage(
"https://www.itying.com/images/flutter/3.png"), //用户头像
),
otherAccountsPictures: [ //他账户头像(图片)
//
Image.network(
"https://www.itying.com/images/flutter/3.png"),
Image.network(
"https://www.itying.com/images/flutter/3.png"),
Image.network(
"https://www.itying.com/images/flutter/3.png"),
],
accountName: Text("张三"),
accountEmail: Text("11111111@qq.com"),
),
)
],
),
const ListTile(
leading: CircleAvatar(
child: Icon(Icons.people),
),
title: Text("个人中心"),
),
const ListTile(
leading: CircleAvatar(
child: Icon(Icons.toll),
),
title: Text("设置"),
)
],
)),
endDrawer: const Drawer(
child: Text("右侧侧边栏"),
),
);
}
}

22、Scaffold属性 抽屉菜单Drawer的更多相关文章
- [UI]抽屉菜单DrawerLayout分析(一)
本文转载于:http://www.cnblogs.com/avenwu/archive/2014/04/16/3669367.html 侧拉菜单作为常见的导航交互控件,最开始在没有没有android官 ...
- android自定义viewgroup初步之一----抽屉菜单
转载请注明出处 http://blog.csdn.net/wingichoy/article/details/47832151 几天前在慕课网上看到鸿洋老师的 自定义卫星菜单,感觉很有意思,于是看完视 ...
- 可折叠的ToolBar+抽屉菜单NavigationView+浮动按钮FloatButton
使用Material Design风格的ToolBar和抽屉导航 先看个简单的运行效果 主要记录下布局的写法 1 用到的Google Design依赖和V7包依赖 compile 'com.andro ...
- Android抽屉菜单DrawerLayout的实现案例
(1)项目布局文件 activity_main.xml <android.support.v4.widget.DrawerLayout xmlns:android="http://sc ...
- [UI]抽屉菜单DrawerLayout分析(三)
在[UI]抽屉菜单DrawerLayout分析(一)和[UI]抽屉菜单DrawerLayout分析(二)中分别介绍了DrawerLayout得基本框架结构和ViewDragerHelper的作用以及手 ...
- wemall doraemon中Android app商城系统解决左侧抽屉菜单和viewpager不能兼容问题
完美解决左侧抽屉菜单和viewpager不能兼容左右滑动的问题,可进行参考. WeMall-Client/res/layout/wemall_main_ui.xml </RadioGroup&g ...
- Android导航抽屉-Navigation Drawer
Google今年七月份的时候更新了他们的Google+应用,采用了新的导航方式并抛弃了navigationdrawer.一时之间,又引发了一系列关于NavigationDrawer利弊的讨论,不过对于 ...
- android 5.X Toolbar+DrawerLayout实现抽屉菜单
前言 android5.X新增的一个控件Toolbar,这个控件比ActionBar更加自由,可控,因为曾经的ActionBar的灵活性比較差,所以google逐渐使用Toolbar替代Action ...
- Android Design Support Library(二)用NavigationView实现抽屉菜单界面
NavigationView在MD设计中非常重要,之前Google也提出了使用DrawerLayout来实现导航抽屉.这次,在Android Design Support Library中,Googl ...
- 安卓导航抽屉 Navigation Drawer 实现沉浸通知栏
在使用 Navigation Drawer Activity 模版的时候,遇到了通知栏无法完全沉浸的问题,尝试搜索一些现有的解决方法,但是或多或少都会存在一些问题,通过反复尝试找到找到了一种比较靠谱的 ...
随机推荐
- Git——Git 常用命令
文章目录 仓库 配置 增加/删除文件 代码提交 分支 标签 查看信息 远程同步 撤销 其他 仓库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 ...
- FFmpeg FFmpeg
FFmpeg About News Download Documentation Community Code of Conduct Mailing Lists IRC Forums Bug Rep ...
- 【技术积累】《MongoDB实战》笔记(1)
<MongoDB实战>笔记 第一章 为现代Web而生的数据库 特性 mongodb适合做水平扩展的数据库. mongodb把文档组织成集合,无schema. 索引 mongodb的二级索引 ...
- 聊聊基于Alink库的特征工程方法
示例代码及相关内容来源于<Alink权威指南(Java版)> 独热编码 OneHotEncoder 是用于将类别型特征转换为独热编码的类.独热编码是一种常用的特征编码方式,特别适用于处理类 ...
- lora训练之偷师
自stable diffusion开源之后AIGC绘画方向定制化百花齐放百家争鸣.而c站 https://civitai.com/ 也聚集了全球爱好者的各种微调训练模型分享. 其中以lora为首,应用 ...
- Net 高级调试之八:代码审查及杂项命令
一.简介 今天是<Net 高级调试>的第八篇文章.这篇文章设计的内容挺多的,比如:如何查看方法的汇编代码,如何获取方法的描述符,对象同步块的转储,对象方法表的转储,托管堆和垃圾回收器信息的 ...
- UVA529 加成序列
传送门 题目分析 一道 dfs,迭代加深 我们可以很快的猜出来最终 \(m\) 的长度必然是小于 \(10\) 的. 而这种浅深度的问题正好适用于迭代加深. 之后考虑剪枝 优化搜索顺序 : 我们要让序 ...
- 接雨水(4.4 leetcode每日打卡)
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可 ...
- Windows文件句柄无效
今天我用FreeFileSync从移动硬盘复制一个名为Con的文件夹到本地硬盘,复制失败. 通过文件夹资源管理器Explorer直接访问文件夹则提示"禁止访问",右键属性切换到安全 ...
- C语言已知四位数3025具有一个特殊性质:它的前两位数字30与后两位数字25之和是55,而55的平方正好等于3025。编程找出所有具有这种性质的四位数。
#include<stdio.h> void main() { int n, i, j; for (n = 1000; n < 10000; n++) { i = n / 100; ...
