Добраться до строк
Продолжаем тему локализации. Сегодня рассмотрим три случая работы с локализованными строками в приложении:
→ Локализации ещё нет, и вы используете хардкод.
Расскажем, как сделать так, чтобы при подключении локализации ничего не забыть.
→ Локализация настроена.
Посмотрим, как удобнее всего добраться до неё через контекст.
→ Локализация вне контекста.
Покажем, как получить локализованные строки, если доступа к контексту нет.
#экспертный
Продолжаем тему локализации. Сегодня рассмотрим три случая работы с локализованными строками в приложении:
→ Локализации ещё нет, и вы используете хардкод.
Расскажем, как сделать так, чтобы при подключении локализации ничего не забыть.
→ Локализация настроена.
Посмотрим, как удобнее всего добраться до неё через контекст.
→ Локализация вне контекста.
Покажем, как получить локализованные строки, если доступа к контексту нет.
#экспертный
🔥31👍15👎1
Возможности dart:async — Completer
Мы все хотим писать лаконичный асинхронный код, используя
К счастью, мы можем взять ситуацию в свои руки и очень просто преобразовать неудобные вызовы
Поможет в этом Completer. В карточках рассказываем, как это реализовать.
➡️ Документация по Completer
#экспертный
Мы все хотим писать лаконичный асинхронный код, используя
Future. Но иногда обстоятельства не на нашей стороне: нужно интегрировать плагин/библиотеку, которые предоставляют callback-based API.К счастью, мы можем взять ситуацию в свои руки и очень просто преобразовать неудобные вызовы
method((result) { … }) к привычным final result = await method().Поможет в этом Completer. В карточках рассказываем, как это реализовать.
#экспертный
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍10❤5👎2
Loose and tight constraints
Начинающим разработчикам знакома ситуация, когда виджет «игнорирует» переданные параметры — хотя размеры явно указаны. Вот мы указали явный размер для контейнера, ожидая получить квадрат 100х100:
Но контейнер всё же растянется на весь экран. В карточках разобрали, почему так происходит.
Ссылки на DartPad:
🔵 Пример из поста
🔵 Как узнать ограничения
🔵 Изменяем ограничения
🔵 Устанавливаем свои ограничения
Начинающим разработчикам знакома ситуация, когда виджет «игнорирует» переданные параметры — хотя размеры явно указаны. Вот мы указали явный размер для контейнера, ожидая получить квадрат 100х100:
MaterialApp(
home: Container(
width: 100,
height: 100,
color: Colors.red,
),
),
Но контейнер всё же растянется на весь экран. В карточках разобрали, почему так происходит.
Ссылки на DartPad:
🔵 Пример из поста
🔵 Как узнать ограничения
🔵 Изменяем ограничения
🔵 Устанавливаем свои ограничения
👍40🔥10❤7❤🔥1