Ответ 1
Свойство title
принимает Widget
, поэтому вы можете передать ему любой виджет.
Например, изображение добавлено в ресурсы
title: Image.asset('assets/title.png', fit: BoxFit.cover)
Как заменить заголовок AppBar
на изображение с логотипом во флаттере?
Свойство title
принимает Widget
, поэтому вы можете передать ему любой виджет.
Например, изображение добавлено в ресурсы
title: Image.asset('assets/title.png', fit: BoxFit.cover)
appBar: AppBar(
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
'assets/logo.png',
fit: BoxFit.contain,
height: 32,
),
Container(
padding: const EdgeInsets.all(8.0), child: Text('YourAppTitle'))
],
),
)
Вы можете включить виджет любого типа, в том числе изображения.
appBar: AppBar(
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
'assets/logo.png',
fit: BoxFit.contain,
height: 32,
),
Container(
padding: const EdgeInsets.all(8.0), child: Text('YourAppTitle'))
],
),
)
Темы приложений, вероятно, лучшие долгосрочные. (Убедитесь, что вы правильно добавили изображение логотипа в папку ресурсов и обновили файл pubspec.yaml).
Создайте изображение widget
в вашем файле стиля, например, (рост, вес, путь, выравнивание до вас):
Image appLogo = new Image(
image: new ExactAssetImage("assets/images/AppLogo.png"),
height: 28.0,
width: 20.0,
alignment: FractionalOffset.center);
В поле title
вашего AppBar
добавьте appLogo (или что вы
называется widget
), вот так (не забудьте импортировать ваш файл 'style'):
child: Scaffold(
appBar: AppBar(
title: appLogo,
),
Теперь, если вам когда-либо понадобится изменить этот логотип, вам просто нужно отредактировать файл style.dart с новым путем к изображению и этим. И если у вас разные темы и одинаковые имена ваших виджетов в каждом файле стиля, вы также сможете быстро реализовать разные стили (например, "style1", "style2" и т.д.), Просто импортировав соответствующие подать всего пару мест.