Виджеты
Значения

🔒StatelessWidget

class MyWidget extends StatelessWidget {
@override Widget build(BuildContext context) {
// @override - переопределяет методы наследуемых классов.
Это необходимо для того, чтобы использовать именно свою реализацию.
Widget build(BuildContext context) {
// Метод build должен нам вернуть тип Widget, а BuildContext это тип
возвращаемого параметра context
}
}
//Так как все есть виджет, то:
build(context) {
// Метод принимает в качестве параметра context - это особый тип объекта,
который автоматически передается в метод сборки. Он хранит в себе
Метаинформацию о приложении.
}
extends - Наследование для Виджетов:
1. StatelessWidget
2. StatefulWidget

🔓StatefulWidget

Структура виджета
class name extends StatefulWidget {
name({Key? key}) : super(key: key);
// Stateful - не может существовать сам по себе, ему необходим класс,
// который будет хранить состояние этого виджета.
@override
State<name> createState() => _nameState();
// Метод createState возвращает экземпляр класса State.
}
//Класс хранящий состояние Stateful и наследующий класс состояния.
class _nameState extends State<name> {
bool _loading; // Динамическая переменная хранящая состояние загрузки(условно)
double _progressLoad; // Динамическая переменная хранящая прогресс загрузки.
@override
Widget build(BuildContext context) {
return Container();
}
}

Жизненый цикл StateFulWidget
Layout - Виджеты
Разделяются на две группы:
Видимые - ввод и вывод информации.
Невидимые - Упорядочивают, ограничивают и выравнивают видимые виджеты.

Виджет Expanded -
Распределяет свободное пространство между другими элементами.
ListView -
Last updated