Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
761 of 1024 menu
◀ ▶

Класс Widget

Абстрактный класс Widget задаёт, как собрать BuildContext и дочерние элементы. Сами экземпляры Widget лёгкие и неизменяемые: логику и память выносят в State или в параметры. Обычно наследуют StatelessWidget или StatefulWidget, а не Widget напрямую.

Синтаксис

abstract class Widget { const Widget({this.key}); final Key? key; }

Пример

Давайте объявим виджет через StatelessWidget, который наследует Widget:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: HelloLabel(), ), ), ), ); } class HelloLabel extends StatelessWidget { const HelloLabel({super.key}); @override Widget build(BuildContext context) { return const Text('abcde'); } }

На экране появится текст 'abcde' из виджета, унаследованного от Widget.

Пример

Давайте передадим key у корневого виджета:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Text( '12345', key: const ValueKey('label'), ), ), ), ), ); }

На экране строка '12345' будет связана с ключом для отличия от других Text.

Смотрите также

  • функция runApp,
    которая ставит корневой Widget на экран
  • класс StatelessWidget,
    который реализует build без State
  • класс StatefulWidget,
    который создаёт объект State
  • класс InheritedWidget,
    который передаёт данные вниз по дереву
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить