Вложенные свои виджеты в Flutter
Интерфейс строят слоями: крупный блок
собирает мелкие переиспользуемые части.
В build родительского
StatelessWidget
можно возвращать другой ваш класс так же,
как Text или Icon:
class AvatarLabel extends StatelessWidget {
const AvatarLabel({super.key, required this.name});
final String name;
@override
Widget build(BuildContext context) {
return Text(name);
}
}
class ProfileCard extends StatelessWidget {
const ProfileCard({super.key, required this.userName});
final String userName;
@override
Widget build(BuildContext context) {
return Column(
children: [
const Icon(Icons.person, size: 32),
AvatarLabel(name: userName),
],
);
}
}
Сделайте ScreenTitle с полем
caption и SettingsPanel,
который внутри build использует
ScreenTitle с текстом 'Language'
и добавляет под ним Text
'Russian'. Покажите SettingsPanel
на экране.