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

Метод of

Метод of виджета Scaffold входит в стандартный набор Material. Работает внутри дерева MaterialApp.

Синтаксис

Scaffold.of(context)

Параметры

Параметр Описание
context BuildContext виджета внутри дерева.

Пример

Давайте найдём ScaffoldState через of:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: OfDemo())); } class OfDemo extends StatelessWidget { const OfDemo({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { final state = Scaffold.of(context); state.showBottomSheet((ctx) => SizedBox( height: 80, child: Center(child: Text('abcde')), )); }, child: Text('abcde'), ), ), ); } }

После нажатия снизу появится панель через ScaffoldState.

Пример

Давайте откроем drawer через of:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: DrawerOf())); } class DrawerOf extends StatelessWidget { const DrawerOf({super.key}); @override Widget build(BuildContext context) { return Scaffold( drawer: Drawer(child: ListTile(title: Text('12345'))), body: Center( child: ElevatedButton( onPressed: () => Scaffold.of(context).openDrawer(), child: Text('12345'), ), ), ); } }

После нажатия слева выедет Drawer.

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

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