Flutter卡片布局实战:组件与练习
51 浏览量
更新于2024-08-28
收藏 150KB PDF 举报
在本篇Flutter卡片练习中,作者通过一个名为`MyApp`的StatefulWidget展示了如何创建和布局卡片组件。首先,导入了`material.dart`库,这是Flutter中用于构建用户界面的主要包。`main()`函数中,创建并运行了一个新的应用程序实例`MyApp`。
`MyApp`类继承自`StatefulWidget`,并在`createState()`方法中返回一个自定义的`_MyAppState`状态对象。`_MyAppState`类同样继承自`State`,它是UI的实际构建者,负责处理状态管理和界面渲染。
在`build()`方法中,返回了一个`MaterialApp`,设置了应用的标题为“卡片练习”。`Scaffold`组件被用作主容器,包含了顶部的`AppBar`和底部的`body`区域。`AppBar`上有一个文本标题“卡片组件练习”,`body`区域则是一个带有边距的`Container`,其中放置了一个`ListView`来展示四张卡片(`getCardView1()`, `getCardView2()`, `getCardView3()`, 和 `getCardView4()`)。
`getCardView1()`是一个自定义的`Card`组件,它具有以下特点:
1. **裁剪行为**:`clipBehavior: Clip.antiAlias`确保内容在卡片边界内平滑显示,防止锯齿。
2. **颜色和阴影**:`color: Colors.lightBlue`定义了卡片的基础颜色,`elevation: 20.0`添加了阴影效果,使卡片看起来更有立体感。
3. **边缘间距**:`margin: EdgeInsets.all(20.0)`设置了卡片与周围元素的间距。
4. **语义容器**:`semanticContainer: true`有助于屏幕阅读器正确理解组件结构。
5. **形状**:`shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0))`定义了圆形的卡片边框。
`Card`内部嵌套了一个`Column`,`mainAxisSize: MainAxisSize.min`意味着子组件大小不会超过最小尺寸,以便更好地适应父容器。列中的内容包括一个`const ListTile`,它展示了卡片的标题和副标题,分别由`Icon`和`Text`组件表示,`leading`属性用于放置图标,`title`和`subtitle`属性用于显示文本内容,颜色和字体大小进行了定制。
这段代码展示了如何在Flutter中创建和组织简单的卡片组件,包括设置样式、布局和交互性,这对于理解和实践Flutter UI设计基础非常有帮助。通过这个练习,开发者可以学习到如何控制卡片的视觉呈现以及如何将复杂的内容组织成易于管理的UI组件。
2021-04-22 上传
2021-04-02 上传
2019-08-10 上传
2019-08-10 上传
2021-04-26 上传
2021-02-12 上传
2021-02-04 上传
weixin_38663029
- 粉丝: 8
- 资源: 948
最新资源
- 俄罗斯RTSD数据集实现交通标志实时检测
- 易语言开发的文件批量改名工具使用Ex_Dui美化界面
- 爱心援助动态网页教程:前端开发实战指南
- 复旦微电子数字电路课件4章同步时序电路详解
- Dylan Manley的编程投资组合登录页面设计介绍
- Python实现H3K4me3与H3K27ac表观遗传标记域长度分析
- 易语言开源播放器项目:简易界面与强大的音频支持
- 介绍rxtx2.2全系统环境下的Java版本使用
- ZStack-CC2530 半开源协议栈使用与安装指南
- 易语言实现的八斗平台与淘宝评论采集软件开发
- Christiano响应式网站项目设计与技术特点
- QT图形框架中QGraphicRectItem的插入与缩放技术
- 组合逻辑电路深入解析与习题教程
- Vue+ECharts实现中国地图3D展示与交互功能
- MiSTer_MAME_SCRIPTS:自动下载MAME与HBMAME脚本指南
- 前端技术精髓:构建响应式盆栽展示网站