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

Метод didChangeMetrics

Метод didChangeMetrics миксина WidgetsBindingObserver вызывают при повороте, смене клавиатуры или выреза экрана. Новые размеры читают из вида, сам метод аргументов не получает.

Синтаксис

void didChangeMetrics()()

Пример

Давайте обновим подпись после metrics:

import 'package:flutter/material.dart'; void main() => runApp(MaterialApp(home: Scaffold(body: Center(child: ObsDemo())))); class ObsDemo extends StatefulWidget { const ObsDemo({super.key}); @override State<ObsDemo> createState() => _ObsDemoState(); } class _ObsDemoState extends State<ObsDemo> with WidgetsBindingObserver { String label = 'abcde'; @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override void didChangeMetrics() { setState(() => label = '12345'); } @override Widget build(BuildContext c) => Text(label); }

На экране текст сменится по событию.

Пример

Давайте залогируем смену:

import 'package:flutter/material.dart'; void main() => runApp(MaterialApp(home: Scaffold(body: Center(child: Text('abcde')))));

На экране текст 'abcde'.

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить