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

Класс MaterialLocalizations

Класс MaterialLocalizations - абстрактный набор строк для кнопок диалогов, дат и меню Material. Геттеры вроде okButtonLabel и cancelButtonLabel дают подписи на текущем языке. Экземпляр получают через of. Загрузку для Locale делает GlobalMaterialLocalizations.

Синтаксис

MaterialLocalizations.of(context)

Параметры

Параметр Описание
okButtonLabel Подпись кнопки подтверждения на текущем языке.
cancelButtonLabel Подпись кнопки отмены на текущем языке.

Методы

Метод Описание
of Возвращает MaterialLocalizations для context.

Пример

Давайте выведем подпись кнопки OK:

import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; class OkLabel extends StatelessWidget { const OkLabel({super.key}); @override Widget build(BuildContext context) { var strings = MaterialLocalizations.of(context); return Text(strings.okButtonLabel); } } void main() { runApp( MaterialApp( localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: [Locale('en')], home: Scaffold( body: Center( child: OkLabel(), ), ), ), ); }

На экране по центру появится системная подпись OK на английском.

Пример

Давайте покажем подпись отмены в диалоге:

import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; void main() { runApp( MaterialApp( localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: [Locale('en')], home: Builder( builder: (context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { showDialog<void>( context: context, builder: (ctx) { var loc = MaterialLocalizations.of(ctx); return AlertDialog( title: const Text('abcde'), actions: [ TextButton( onPressed: () { Navigator.pop(ctx); }, child: Text(loc.cancelButtonLabel), ), ], ); }, ); }, child: const Text('12345'), ), ), ); }, ), ), ); }

На экране кнопка '12345'; по нажатию откроется диалог с локализованной Cancel.

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

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