flutter - 在 ListTile 中省略前导
问题描述
我正在尝试重用 ListTile。如果未指定前导参数,我想跳过正在绘制的前导。我尝试过用空容器替换它的常见做法,但这不起作用。容器必须有一定的大小,否则会崩溃。但即使你给容器 1px 大小,它也会在瓦片的左侧创建很大的空间
class SimpleListTile extends StatelessWidget {
final String title;
final Widget leading;
const SimpleListTile({@required this.title, this.leading});
@override
Widget build(BuildContext context) {
return ListTile(
leading: leading == null ? Container() : leading, title: Text(title));
}
}
有什么方法可以跳过绘制的前导而不在 if 语句中创建 2 个图块,因为我想对尾随小部件做同样的事情
解决方案
忽略leading
属性或显式提供null
而不是空容器似乎可以做到这一点:
return ListTile(
title: Text(title);
);
或者
return ListTile(
title: Text(title);
leading: leading // regardless of is it null or not
);
推荐阅读
- vim - 跳转到键映射定义末尾的 2 个位置
- linux - 无论 Linux 发行版配置如何,如何在应用程序代码中稳健地禁用核心转储
- java - 春天:setAutoGrowCollectionLimit 不起作用
- android - 如何在styles.xml中设置按钮layout_constraintWidth_percent?
- java - 如何忽略或禁用线性布局
- authentication - 无法使用 Golang 使用服务帐户凭据访问 Google 电子表格
- mysql - MYSQL查询处理一对值中的空值
- java - FragmentManager:未找到 id 的视图
- powerbi - 在另一个查询中使用来自一个查询的数据
- python - 模拟后自动退出ngspice