Введение в виджеты

Последнее обновление: 15.06.2020

Центральным элементом приложения на Flutter являются виджеты. Фактически это те визуальные компоненты, из которых состоит графический интерфейс.

Рассмотрим простейший пример. Прежде всего создадим новый проект Flutter.

Введение в виджеты в Flutter

По умолчанию код приложения размещается в файле lib/main.dart. Откроем этот файл и изменим его содержимое:

import 'package:flutter/material.dart';

void main() {
  runApp(
    Text(
        'Привет Flutter!',
        textDirection: TextDirection.ltr,
        textAlign: TextAlign.center,
    ),
  );
}

Выполнение приложения Flutter начинается с функции main. Для создания графического интерфейса в этой функции вызывается другая встроенная функция - runApp(Widget app). Она прикрепляет определенный виджет к экрану. То есть по сути это, что мы видим при запуске приложения на экране устройства. Прикрепляемый виджет передается в функцию runApp() в качестве параметра.

Все виджеты наследуется от класса Widget. В данном случае в функцию runApp передается виджет Text, который предназначен для вывода текста на экран. Через конструктор этого класса устанавливаются три его свойства. Прежде всего отображаемый текст, для которого передается строка 'Привет Flutter!'. И также устанавливаются свойство textDirection, которое задает направление текста и принимает значение TextDirection.ltr (направление текста слева направо), и свойство textAlign, которое задает выравнивание текста по горизонтали и принимает значение TextAlign.center (то есть текст выравнивается по центру).

После изменения кода Android Studio может подчеркивать папку с файлами тестов как некорректную, поскольку мы изменили код программы, не изменив файл тестов:

Android Studio и виджеты в Flutter

Но на данный момент можно не обращать внимание на этот момент. Более того файл widget_test.dart можно пока вовсе удалить.

Итак, мы определили самое минимальное приложение Flutter. В итоге при запуске приложения мы увидим вверху по центру устройства искомый текст:

Widget в Flutter

Одни виджеты могут включать другие, образуя тем самым иерархическую систему в виде дерева. Например, разместим текст по центру экрана по вертикали. Для этого воспользуемся виджетом Align:

import 'package:flutter/material.dart';

void main() {
  runApp(
    Align(
      alignment: Alignment.center,
      child:Text(
          'Привет Flutter!',
          textDirection: TextDirection.ltr,
      ),
    ),
  );
}

Теперь корневым виджетом, который передается в функцию runApp, является виджет Align. С помощью свойства alignment задается выравнивание вложенных элементов. В данном случае значение Alignment.center указывает, что выравнивание будет идти по центру как по горизонтали, так и по вертикали.

Другое свойство - child представляет вложенный виджет - в данном случае ранее использовавшийся виджет Text.

Когда мы запустим приложение, по сути мы увидим виджет Align, внутри которого расположен виджет Text:

Иерархия виджетов в Flutter
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850