flutter - 为什么即使它是孩子也不应该扩展卡片
问题描述
刚接触颤振和飞镖,我很难理解基本布局......
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final List<Widget> widgets = const [Text(""),Text(""),Text(""),Text(""),];
@override
Widget build(BuildContext context) {
return Card(
margin: const EdgeInsets.all(10),
color: Colors.redAccent,
child: Column(
mainAxisSize: MainAxisSize.min,
children: widgets,
),);
}
}
这是 DartPad(Flutter) 中的一个工作示例。为什么红色的东西会完全展开以适应屏幕?我希望它有 Columns MainAxisSize.min。
我想要一个布局,它采用整行(有边距),但只有其子项的请求高度。
附带说明:当我尝试以“卡片风格”制作东西而不是自己制作所有东西时,有人建议我使用卡片小部件。问题是,卡片可能会增加像我不需要的文本这样的开销。我为什么要因为这个原因选择那个?
谢谢
编辑:找到解决方案
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Card(
margin: const EdgeInsets.all(10),
color: backgroundColor,
child: Column(
mainAxisSize: MainAxisSize.min,
children: widgets,
),
),
),
],
);
}
解决方案
像这样工作:
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Card(
margin: const EdgeInsets.all(10),
color: backgroundColor,
child: Column(
mainAxisSize: MainAxisSize.min,
children: widgets,
),
),
),
],
);
}
推荐阅读
- spring - 在 Spring Boot API 中使用 p12 证书,如何?
- python - 这个 robots.txt 是什么意思?
- android - 在 Oppo 设备中释放 12 容量日志消息
- javascript - 我需要知道 Easy UI Combogrid 使用什么属性来查找下一个和上一个?
- php - 如何在php中获取任何对其进行身份验证的文件的内容?
- c# - 如何取消具有不同线程的任务?
- flutter - 将音频流保存到磁盘的推荐方法
- javascript - 测试字符串是否与赛普拉斯兼容的日期时间
- clickhouse - ClickHouse FedRamp 认证
- jmeter - 如何从 regax 中删除特殊字符、字符串、数字