Виджеты

Значения

🔒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

Каждый передеанный или собранный Виджет имеет свой уровень сборки(Level)

Дерево виджетов

🔓StatefulWidget

Данный виджет имеет объект состояния State<Object> в котором хранится

информация о текущем состоянии виджета.

Структура виджета

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

Жизненый цикл StateFulWidget

Layout - Виджеты

Разделяются на две группы:

Видимые - ввод и вывод информации.

Невидимые - Упорядочивают, ограничивают и выравнивают видимые виджеты.

Виджет Expanded -

Распределяет свободное пространство между другими элементами.

ListView -

Last updated