Flutter 制作一个抽屉菜单,纯手打“RocketMQ笔记”

其实在APP中,抽屉菜单就是当手指在屏幕横向滑动时候,左边屏幕会滑出或者滑入一个View的东西,就像一个抽屉。下面是我在网上找的一个示例图,和现在正跑在我的模拟器上的目标图。

示例图

目标图

在Android或者IOS上,要实现这种侧滑抽屉空间,可以使用外部库来达到效果,不过Flutter本身已经给我们提供了 Drawer 这个UI组件,来使你更轻松地达到这个效果。

Drawer及UserAccountsDrawerHeader可用属性

| Drawer属性 | 说明 |

| — | — |

| elevation | 背景高度 |

| child | 子组件 |

| semanticLabel | 标签 |

| UserAccountsDrawerHeader属性 | 说明 |

| — | — |

| decoration | 头部装饰 |

| margin | 外边距  默认8.0 |

| currentAccountPicture | 主图像 |

| otherAccountsPictures | 副图像 |

| accountName | 标题 |

| accountEmail | 副标题 |

| onDetailsPressed | 点击监听 |

实现

首先我默认大家已经搭建好了Flutter的环境并已经初步写了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的登录界面示例,使用了 Flutter 的 Material Design 风格。 首先,在 `pubspec.yaml` 文件中添加 Material Design 库: ```yaml dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.2 material_design_icons_flutter: ^3.6.95 ``` 然后,在 `lib/main.dart` 文件中编写代码: ```dart import 'package:flutter/material.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Login Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: LoginPage(), ); } } class LoginPage extends StatefulWidget { @override _LoginPageState createState() => _LoginPageState(); } class _LoginPageState extends State<LoginPage> { final _formKey = GlobalKey<FormState>(); String _email; String _password; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Login'), ), body: Center( child: Form( key: _formKey, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ TextFormField( decoration: InputDecoration( labelText: 'Email', prefixIcon: Icon(MdiIcons.email), ), keyboardType: TextInputType.emailAddress, validator: (value) { if (value.isEmpty) { return 'Please enter your email'; } return null; }, onSaved: (value) { _email = value; }, ), TextFormField( decoration: InputDecoration( labelText: 'Password', prefixIcon: Icon(MdiIcons.lock), ), obscureText: true, validator: (value) { if (value.isEmpty) { return 'Please enter your password'; } return null; }, onSaved: (value) { _password = value; }, ), SizedBox( height: 24, ), RaisedButton( onPressed: () { if (_formKey.currentState.validate()) { _formKey.currentState.save(); // TODO: Perform login action } }, child: Text('Login'), ), ], ), ), ), ); } } ``` 这个示例中,我们使用了 `Form` 和 `TextFormField` 来创建表单,使用了 Material Design 风格的图标来增强用户体验。 在表单的提交按钮中,我们可以执行具体的登录操作。你可以根据自己的需求来实现这个逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值