Лист трепета — Выравнивание всех элементов по вертикали по центру

#flutter #dart #widget #listtile

Вопрос:

Я хочу выровнять все внутри списка (заголовок, подзаголовок, начало, конец и т. Д.) Вертикально по центру. Как лучше всего это сделать?

 const Padding(  padding: EdgeInsets.fromLTRB(0, 20, 0, 20),  child: Card(  child: ListTile(  leading: FlutterLogo(size: 55),  title: Text('Overview'),  subtitle: Text(  '250.956.261',  ),  trailing: Icon(  Icons.arrow_right_outlined,  size: 30,  ),  isThreeLine: true,  ),  ), ),  

Ответ №1:

Я изначально неправильно понял ваш вопрос о горизонтальном центрировании содержимого ListTile . Чтобы расположить элементы вертикально внутри карты, вам может потребоваться только отключить этот isThreeLine параметр. Если отключить его, содержимое будет центрировано по вертикали.

Код для метода сборки:

 @override  Widget build(BuildContext context) {  return const Center(  child: Card(  child: ListTile(  leading: FlutterLogo(size: 55),  title: Text('Overview'),  subtitle: Text(  '250.956.261',  ),  trailing: Icon(  Icons.arrow_right_outlined,  size: 30,  ),  // isThreeLine: true,  ),  ),  );  }  

введите описание изображения здесь

Комментарии:

1. Ух ты! Такое простое решение. Спасибо!

Ответ №2:

Вы можете использовать альтернативный код ниже, чтобы получить то, что вы хотите

 Padding(  padding: const EdgeInsets.fromLTRB(0, 20, 0, 20),  child: Card(  child: Padding(  padding: const EdgeInsets.all(20),  child: Row(  mainAxisAlignment: MainAxisAlignment.spaceBetween,  children: [  Row(  children: [  const FlutterLogo(size: 55),  Column(  crossAxisAlignment: CrossAxisAlignment.start,  children: const [  Text('Overview'),  Text(  '250.956.261',  ),  ],  ),  ],  ),  const Icon(  Icons.arrow_right_outlined,  size: 30,  ),  ],  ),  ),  ),  );  

Комментарии:

1. Спасибо за ваше время! Хотя просто удаление «isThreeLine: true» сделало это, как упоминалось @KGEM