Flutter Pulse
531 subscribers
353 photos
777 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Работаем с клавиатурными сокращениями

При создании приложений для Flutter Web или Desktop, важно обеспечить удобное управление клавиатурными сокращениями. В этом нам помогут виджеты Shortcuts и Actions! 🚀

Shortcuts - это виджет, который создаёт привязку клавиш к определённым действиям для своих потомков. Всё просто: вы предоставляете карту клавиш и интенций (Intent).

Actions - этот виджет позволяет потомкам вызывать действия, определённые в родителе. Его можно использовать как вместе с Shortcuts, так и отдельно 😉

Давайте рассмотрим пример кода:

// Это просто используется для указания нужного действия
class SelectAllIntent extends Intent {}

@override
Widget build(BuildContext context) {
return Shortcuts(
shortcuts: <LogicalKeySet, Intent>{
LogicalKeySet(LogicalKeyboardKey.control, LogicalKeyboardKey.keyA): SelectAllIntent(),
},
child: Actions(
dispatcher: LoggingActionDispatcher(),
actions: <Type, Action<Intent>>{
SelectAllIntent: SelectAllAction(),
},
child: Builder(
builder: (BuildContext context) => TextButton(
onPressed: Actions.handler<SelectAllIntent>(context, SelectAllIntent()),
child: const Text('SELECT ALL'),
),
),
),
);
}

// Action будет содержать логику, которую вы хотите выполнить при срабатывании клавиатурного сокращения
class SelectAllAction extends Action<SelectAllIntent> {
@override
void invoke(covariant SelectAllIntent intent) {
// делайте то, что вам нужно
}
}



В этом примере мы создаём клавиатурное сокращение Ctrl+A для вызова действия SelectAllAction. Просто и удобно! 👍

Оцените нашу новую рубрику и напишите, о чём бы вы хотели узнать в следующий раз 🤔

Все подобные советы ищите по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #FlutterTips #MobileDev #KeyboardShortcuts #FlutterDev #CodingTips
👍2
Изменение яркости системной панели
Отобразить системную панель с правильной яркостью на iOS и Android 🚀

При разработке мобильных приложений важно обеспечить корректное отображение системной панели на разных платформах. В этой статье мы рассмотрим, как изменить яркость системной панели в приложениях Flutter для iOS и Android.

Код для изменения яркости системной панели:

SystemChrome.setSystemUIOverlayStyle(
SystemUIOverlayStyle(
statusBarColor: Colors.transparent, // Прозрачный цвет статус-бара
statusBarBrightness: // Установка яркости статус-бара в зависимости от темы
mode == ThemeMode.light ? Brightness.light : Brightness.dark,
statusBarIconBrightness: // Установка яркости иконок статус-бара в зависимости от темы
mode == ThemeMode.light ? Brightness.dark : Brightness.light,
),
);


Обратите внимание:
- statusBarBrightness применяется только на Android.
- statusBarIconBrightness также применяется только на Android, но с инвертированными значениями для iOS.

Особенности для iOS: 🤔
На iOS строка состояния может быть изначально скрыта. Чтобы отобразить ее, откройте ваш проект в Xcode и убедитесь, что свойство status bar initially hidden не отмечено.

👍 Оцените нашу новую рубрику советов по Flutter! Ваши отзывы помогут нам сделать контент еще лучше.

Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #iOS #Android #FlutterTips #DevTips
👍1