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

Метод localeOf

Метод localeOf виджета Localizations он принимает context и возвращает Locale. Без предка Flutter выбросит ошибку.

Синтаксис

Localizations.localeOf(context)

Параметры

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

Пример

Давайте покажем язык на экране:

import 'package:flutter/material.dart'; class LangChip extends StatelessWidget { const LangChip({super.key}); @override Widget build(BuildContext context) { var loc = Localizations.localeOf(context); return Text(loc.languageCode); } } void main() { runApp( MaterialApp( locale: const Locale('en'), home: Scaffold( body: Center( child: LangChip(), ), ), ), ); }

На экране по центру будет 'en'.

Пример

Давайте сравнить locale до и после override:

import 'package:flutter/material.dart'; class PairLocales extends StatelessWidget { const PairLocales({super.key}); @override Widget build(BuildContext context) { var outer = Localizations.localeOf(context).languageCode; return Localizations.override( context: context, locale: const Locale('de'), child: Builder( builder: (innerContext) { var inner = Localizations.localeOf(innerContext).languageCode; return Text('$outer / $inner'); }, ), ); } } void main() { runApp( MaterialApp( locale: const Locale('en'), home: Scaffold( body: Center( child: PairLocales(), ), ), ), ); }

На экране строка 'en / de': снаружи английская локаль, внутри override - немецкая.

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

  • метод override,
    который подменяет Locale для поддерева
  • класс Locale,
    который возвращает localeOf
  • виджет Localizations,
    который хранит Locale в дереве
  • метод MaterialLocalizations.of,
    который читает переводы Material для той же локали
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить