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

Виджет WidgetsApp

Виджет WidgetsApp ставят корнем, когда нужны Navigator и локализация, но не нужен полный набор Material из MaterialApp. Корневой экран задают через builder или home, таблицу путей - в routes, функцию построения маршрута - в onGenerateRoute. Цвет сплэша и фона задают в color.

Синтаксис

WidgetsApp( color: Colors.white, builder: (BuildContext context, Widget? child) { return child ?? SizedBox.shrink(); }, home: Text('abcde'), )

Параметры

Параметр Описание
builder Оборачивает Navigator и дочерний маршрут.
home Стартовый виджет, если routes не заданы.
routes Словарь строкового пути и построителя экрана.
color Цвет фона до отрисовки первого кадра.

Пример

Давайте запустим простой экран через WidgetsApp:

import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; void main() { runApp( WidgetsApp( color: Colors.white, builder: (context, child) => child!, home: Center(child: Text('abcde')), ), ); }

На экране по центру строка 'abcde' без AppBar Material.

Пример

Давайте обернём home в Material вручную:

import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; void main() { runApp( WidgetsApp( color: Colors.white, builder: (context, child) { return Material(child: child!); }, home: Scaffold( body: Center(child: Text('12345')), ), ), ); }

WidgetsApp даёт Navigator, а Material и Scaffold добавляют привычный каркас.

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

  • виджет MaterialApp,
    который включает тему Material и виджеты по умолчанию
  • виджет Scaffold,
    который часто кладут в home после Material
  • виджет Material,
    который рисует подложку для InkWell и текста
  • виджет Theme,
    который передаёт ThemeData без MaterialApp
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить