Я пытаюсь повторно использовать 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));
}
}
Есть ли способ пропустить прорисовку ведущей, не создавая 2 плитки в операторе if, потому что я хочу сделать то же самое с конечным виджетом
1 ответ
Кажется, что это делает либо пропуск свойства leading
, либо явное предоставление null
вместо пустого контейнера:
return ListTile(
title: Text(title);
);
Или
return ListTile(
title: Text(title);
leading: leading // regardless of is it null or not
);
Похожие вопросы
Новые вопросы
flutter
Flutter - это набор средств разработки пользовательского интерфейса с открытым исходным кодом, созданный Google. Он используется для разработки приложений для Android, iOS, Linux, Mac, Windows, Google Fuchsia и Интернета из единой кодовой базы. Приложения Flutter написаны на языке Dart.