flutter - 当我包装芯片列表时,如何将区域(包装区域)限制为最多 2 行?
问题描述
我有一个列表,我想在芯片中显示并在 Wrap 小部件中组织。但是,无论 list.length 是什么(或列表中单个字符串的长度),我都只想构建 Wrap 区域的 2 行。
这是我的代码:
class TagsView extends StatelessWidget {
@override
Widget build(BuildContext context) {
List<Widget> list = List<Widget>.from(
{"bla1", "bla2", "bla3", "bla4", "bla5", "bla6", "bla7","bla8", "bla9", "bla10", "bla11", "bla12", "bla13", "bla14"}
.map((tag) => Chip(
label: Text(
tag,
),
))
.toList());
return Wrap(
verticalDirection: VerticalDirection.down,
spacing: 5.0,
runSpacing: 10.0,
children: list,
);
}
}
这是不需要的代码的示例(第一个屏幕截图是上面代码的结果)
一个好的结果将如下所示:
解决方案
你可以把它放在一个容器中并限制高度。
它将始终显示前两行。
return Container(
height: 100,
child: Wrap(
verticalDirection: VerticalDirection.down,
spacing: 5.0,
runSpacing: 10.0,
children: list,
),
);
推荐阅读
- azure - 具有活动角色的 Azure AD 应用授权
- c# - c# 跨线程错误
- validation - 在浏览器缓存、代理缓存和源服务器的情况下,验证如何工作?
- ionic-framework - 如何获取 OneSignal 推送通知设备 ID Ionic 3
- java - Guice AssistedInject 找不到匹配的构造函数
- xamarin - Xamarin Native Android:中国推送通知
- typescript - 函数返回数组或数字时无法使用“map”方法
- angular - 为什么 ngModels 不应该直接绑定到服务变量?
- php - 为什么有时 ftp_nlist 在文件夹中有文件时返回空数组?
- jquery - 验证时显示的错误消息中的 Laravel Ajax 表单验证错误