快速使用 Flutter Card 组件指南

目录

一、引言

二、Card 的基本用法

 三、主要属性

3.1 elevation (阴影高度)

3.2 shape (形状)

3.3 color (颜色)

3.4 margin (外边距)

3.5 完整示例

四、结合 ListTile 组件使用

五、带图片的 Card 示例

六、注意事项

相关推荐


一、引言

    Card 是 Flutter 提供的一个用于展示内容的卡片组件,通常用于信息展示、列表项包装、通知等场景。

    Card 组件默认带有圆角和阴影效果,使其在 UI 设计上更加美观。本文将详细介绍 Card 的基本用法、主要属性及自定义样式。

二、Card 的基本用法

Card(child: Padding(padding: EdgeInsets.all(16.0),child: Text('这是一个基础卡片'),),
)

    Card 组件通常与 ColumnRowListTile 等组件结合使用。

Card(child: Padding(padding: EdgeInsets.all(16.0),child: Column(mainAxisSize: MainAxisSize.min,children: <Widget>[Text('标题', style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),SizedBox(height: 10),Text('这是 Card 组件的基本示例。'),],),),
)

 三、主要属性

属性说明
childCard 的子组件,可包含 ColumnListTile
color卡片背景颜色
elevation卡片的阴影高度
shape自定义卡片形状,如圆角矩形、边框等
marginCard 的外边距
clipBehavior设置子组件超出 Card 边界时的裁剪行为

3.1 elevation (阴影高度)

        控制卡片的阴影大小,默认值为1.0

Card(elevation: 5.0, // 增加阴影高度child: ...
)

3.2 shape (形状)

        自定义卡片的形状,如圆角大小

Card(shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15.0),),child: ...
)

3.3 color (颜色)

        设置卡片的背景颜色

Card(color: Colors.blue[100],child: ...
)

3.4 margin (外边距)

        设置卡片与其他组件的间距

Card(margin: EdgeInsets.all(10.0),child: ...
)

3.5 完整示例

Card(elevation: 8.0,margin: EdgeInsets.symmetric(horizontal: 10.0, vertical: 6.0),shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12.0),),child: Container(padding: EdgeInsets.all(16.0),child: Column(crossAxisAlignment: CrossAxisAlignment.start,children: [Text('卡片标题',style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),),SizedBox(height: 8),Text('卡片内容部分,可以放置各种组件'),SizedBox(height: 8),Align(alignment: Alignment.centerRight,child: TextButton(onPressed: () {},child: Text('我是按钮'),),),],),),
)

四、结合 ListTile 组件使用

    Card 常用于列表项的包装,ListTile 可提供更丰富的内容展示。

Card(child: ListTile(leading: Icon(Icons.account_circle, size: 40),title: Text('用户名'),subtitle: Text('用户描述信息'),trailing: Icon(Icons.arrow_forward),onTap: () {print('Card 被点击');},),
)

五、带图片的 Card 示例

    Card 组件也可用于展示带图片的内容,如商品卡片、文章预览等。

Card(clipBehavior: Clip.antiAlias,shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10),),child: Column(children: <Widget>[Image.network('https://i-blog.csdnimg.cn/direct/fba26464e5df4319ade2a21febdf3721.png0'),Padding(padding: EdgeInsets.all(8.0),child: Text('这是带图片的 Card 示例', style: TextStyle(fontSize: 16)),),],),
)

六、注意事项

  1. Card 默认没有内边距,需要自行添加 Padding

  2. 阴影效果在低 elevation 值下可能不明显

  3. 在暗黑模式下,Card 会自动调整颜色以适应主题

   Card 组件非常适合用于展示内容块、列表项或任何需要突出显示的部分。通过组合不同的属性和子组件,可以创建出丰富多样的卡片式布局。

相关推荐

Flutter TabBar / TabBarView 详解-CSDN博客文章浏览阅读2.5k次,点赞38次,收藏46次。在 Flutter 中,TabBar 和 TabBarView 组件用于实现多个页面的标签导航,类似于 Android 的 ViewPager + TabLayout。TabBar 用于显示标签页,TabBarView 用于切换不同的页面内容。它们通常与 DefaultTabController 结合使用,实现流畅的页面切换效果。_flutter tabbar https://shuaici.blog.csdn.net/article/details/146070310Flutter Drawer 详解-CSDN博客文章浏览阅读1.7k次,点赞31次,收藏38次。在移动应用开发中,侧边导航栏(Drawer)是实现功能导航的常见设计模式。Flutter 提供了内置的 Drawer 组件,能够轻松实现 Material Design 风格的侧边导航功能。本文将深入探讨 Flutter Drawer 的核心用法、高级定制技巧以及常见问题解决方案。_flutter drawer https://shuaici.blog.csdn.net/article/details/146070284

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言内存管理和编译优化实战

参考&#xff1a; C语言内存管理“玄学”&#xff1a;从崩溃到精通的避坑指南C语言编译优化实战&#xff1a;从入门到进阶的高效代码优化技巧

【产品业务设计】支付业务设计规范细节记录,含订单记录、支付业务记录、支付流水记录、退款业务记录

【产品业务设计】支付业务设计规范细节记录&#xff0c;含订单记录、支付业务记录、支付流水记录 前言 我为什么要写这个篇文章 总结设计经验生成设计模板方便后期快速搭建 一个几张表 一共5张表&#xff1b; 分别是&#xff1a; 订单主表&#xff1a;jjy_orderMain订单产…

CppCon 2015 学习:Live Lock-Free or Deadlock

这段内容是介绍一场关于**“实用无锁编程&#xff08;Practical Lock-Free Programming&#xff09;”**的讲座提纲&#xff0c;重点在C中的并发编程。下面是详细的中文理解和分析&#xff1a; 讲座大纲和内容理解 主题概览 适当的“guru崇拜”和“祈求” → 开场调侃&#…

centos7编译安装LNMP架构

一、LNMP概念 LNMP架构是一种常见的网站服务器架构&#xff0c;由Linux操作系统、Nginx Web服务器、MySQL数据库和PHP后端脚本语言组成。 1 用户请求&#xff1a;用户通过浏览器输入网址&#xff0c;请求发送到Nginx Web服务器。 2 Nginx处理&#xff1a;Nginx接收请求后&…

Spark 写文件

Repartition Spark 输出文件数量 假设每个 Task 的输出数据都包含了全部 8 个分区值,那么最终的文件生成情况如下: 总文件数 = Task 数量 分区组合数 假设: ​Task 数量​:200 ​分区组合数​:8 个 (from_cluster 和 ds 的组合) 则: ​总文件数​:200 8 = ​1600 …

自定义protoc-gen-go生成Go结构体,统一字段命名与JSON标签风格

背景 在日常的 Go 微服务开发中&#xff0c;Protocol Buffers&#xff08;protobuf&#xff09; 是广泛使用的数据交换格式。其配套工具 protoc-gen-go 会根据 .proto 文件生成 Go 结构体代码&#xff0c;但默认生成的字段名、JSON tag 命名风格往往不能满足所有团队或项目的代…

LabVIEW的MathScript Node 绘图功能

该VI 借助 LabVIEW 的 MathScript Node&#xff0c;结合事件监听机制&#xff0c;实现基于 MathScript 的绘图功能&#xff0c;并支持通过交互控件自定义绘图属性。利用 MathScript 编写脚本完成图形初始化&#xff0c;再通过LabVIEW 事件结构响应用户操作&#xff0c;动态修改…

GD图像处理与SESSiON

SESSION: 原理: session与浏览器无关&#xff0c;但是与cookie有关 1.PHP碰到session_start()时开启session会话,会自动检测sessionID a. 如果cookie中存在&#xff0c;使用现成的 b. 如果cookie中不存在,创建一个sessionID&#xff0c;并通过响应头以cookie形式保存到浏览…

【Web应用】若依框架:基础篇14 源码阅读-后端代码分析-课程管理模块前后端代码分析

文章目录 一、课程管理模块前端代码截图二、前端代码及分析index.vuecourse.js 三、前端执行流程1. 组件初始化2. 查询操作3. 列表操作4. 对话框操作5. API 请求6. 执行流程总结关键点 四、课程管理模块后端代码截图五、后端代码块CourseControllerICourseServiceCourseMapperC…

深入理解系统:UML类图

UML类图 类图&#xff08;class diagram&#xff09; 描述系统中的对象类型&#xff0c;以及存在于它们之间的各种静态关系。 正向工程&#xff08;forward engineering&#xff09;在编写代码之前画UML图。 逆向工程&#xff08;reverse engineering&#xff09;从已有代码建…

DeepSeek12-Open WebUI 知识库配置详细步骤

&#x1f4da; Open WebUI 知识库配置详细步骤&#xff08;中英文对照&#xff09; &#x1f310; 界面语言切换 # 首次登录后切换语言&#xff1a; 1. 点击左下角用户头像 → Settings 2. 在 "General" 选项卡找到 "Language" 3. 选择 中文(简体)/Engli…

Python网络设备批量配置脚本解析

目录 脚本概述 代码解析 导入模块 日志配置 核心函数config_device 主程序逻辑 使用说明 脚本优化建议 完整代码 脚本概述 这是一个使用Python编写的网络设备批量配置脚本&#xff0c;主要功能是通过SSH协议批量登录多台网络设备&#xff08;如路由器、交换机等&…

Z-FOLD: A Frustratingly Easy Post-Training Quantization Scheme for LLMs

文章目录 摘要1 引言2 相关工作2.1 量化2.2 大型语言模型的量化 3 Z-FOLD3.1 新引入的参数 ζ3.2 参数整合&#xff08;ζ 折叠&#xff09;3.3 使用校准集的微调 4 实验4.1 实验设置4.2 与其他方法的比较4.3 Z-FOLD 的泛化能力4.4 Z-FOLD 的可移植性4.5 消融研究 5 结论6 限制…

交流电机深度解析:从基础到实战的全面指南

简介 交流电机作为现代工业中不可或缺的动力设备,广泛应用于各个领域。本文将带你深入了解交流电机,从最基础的概念和工作原理开始,逐步介绍其类型、结构、关键参数等基础知识。同时,我们会探讨交流电机在企业级开发研发中的技术实战,包括控制技术、调速方法、建模与仿真…

【靶场】XXE-Lab xxe漏洞

前言 学习xxe漏洞,搭了个XXE-Lab的靶场 一、搭建靶场 现在需要登录,不知道用户名密码,先随便试试抓包 二、判断是否存在xxe漏洞 1.首先登录抓包 看到xml数据解析,由此判断和xxe漏洞有关,但还不确定xxe漏洞是否存在。 2.尝试xxe 漏洞 判断是否存在xxe漏洞 A.send to …

【C++特殊工具与技术】优化内存分配(三):operator new函数和opertor delete函数

目录 一、基础概念&#xff1a;operator new与operator delete的本质 1.1 标准库提供的operator new接口 1.2 标准库operator delete的接口 1.3 关键特性总结 二、new表达式与operator new的调用链解析 2.1 new表达式的底层步骤 2.2 示例&#xff1a;观察new表达式的调用…

[c#]判定当前软件是否用管理员权限打开

有时一些软件的逻辑中需要使用管理员权限对某些文件进行修改时&#xff0c;那么该软件在执行或者打开的场合&#xff0c;就需要用使用管理员身份运行才能达到效果。那么在c#里&#xff0c;如何判定该软件是否是对管理员身份运的呢&#xff1f; 1.取得当前的windows用户。 2.取得…

如果在main中抛出异常,该如何处理

#采用 setDefaultUncaughtExceptionHandler 进行全局兜底 public static void main(String[] args) { Thread.setDefaultUncaughtExceptionHandler((thread, ex) -> { System.err.println("全局捕获异常: " ex.getMessage()); ex.printStackTrace(); System.exi…

HBM 读的那些事

如下所示&#xff0c;为HBM读的时序。注意这里说的HBM是和HBM3是有区别的. RL 的配置,是通过MR2来实现的 WDQS貌似和CK同频。这幅图告诉你&#xff0c;WDQS和CK的源头是一样的&#xff0c;都来自PLL&#xff0c;而且中间没有经过倍频操作。所以两者频率基本是一致的。这是HBM的…

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…