Метод of
Метод of класса
MaterialLocalizations он ищет загруженный перевод в
Localizations.
Без делегата Material перевод не найдётся.
Синтаксис
MaterialLocalizations.of(context)
Параметры
| Параметр | Описание |
|---|---|
context |
BuildContext под Localizations с MaterialLocalizations.
|
Пример
Давайте прочитаем подпись кнопки OK:
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
class OkText extends StatelessWidget
{
const OkText({super.key});
@override
Widget build(BuildContext context)
{
var loc = MaterialLocalizations.of(context);
return Text(loc.okButtonLabel);
}
}
void main()
{
runApp(
MaterialApp(
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
],
supportedLocales: [Locale('en')],
home: Scaffold(
body: Center(
child: OkText(),
),
),
),
);
}
На экране по центру локализованная подпись OK.
Пример
Давайте выведем тип результата of:
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
void main()
{
runApp(
MaterialApp(
localizationsDelegates: const [
GlobalMaterialLocalizations.delegate,
],
supportedLocales: [Locale('en')],
home: Builder(
builder: (context) {
var res = MaterialLocalizations.of(context);
print(res.runtimeType);
return const SizedBox.shrink();
},
),
),
);
}
Результат выполнения кода
MaterialLocalizationEn
Смотрите также
-
класс
MaterialLocalizations,
интерфейс строк, который возвращаетof -
класс
GlobalMaterialLocalizations,
делегат, без которогоofне сработает -
метод
localeOf,
который показывает язык того жеLocalizations -
виджет
Localizations,
который хранит делегаты перевода