👣 Как виджеты AbsorbPointer и IgnorePointer управляют поведением интерфейса. 🤔
В арсенале Flutter-разработчика есть десятки виджетов для построения визуала, но ключевое качество современного интерфейса - не только красота, но и его предсказуемое поведение 📈. Как элегантно запретить двойное нажатие на кнопку, сделать слайдер только для чтения или временно приостановить все жесты в сложной форме? 🤷♂️ Для этих задач существуют специальные виджеты-контроллеры, которые оставаясь невидимыми, кардинально меняют логику взаимодействия 🔮.
Сегодня разберем двух таких стражей порядка: AbsorbPointer и IgnorePointer 🚀.
AbsorbPointer - полная блокировка: это стена 🚧. Когда
Пример: кнопка отправки формы 📝. Нужно заблокировать ее во время загрузки, но оставить видимой с анимацией 🔄:
IgnorePointer - сквозное игнорирование: это невидимка 🔮. При
Пример: полупрозрачный баннер поверх карты 🗺. Баннер виден, но карта остается интерактивной 📍:
Главное отличие:
🔵 AbsorbPointer: события не проходят вообще 🚫.
🔵 IgnorePointer: события проходят сквозь к виджетам позади 🔜.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #mobiledevelopment #uxdesign
В арсенале Flutter-разработчика есть десятки виджетов для построения визуала, но ключевое качество современного интерфейса - не только красота, но и его предсказуемое поведение 📈. Как элегантно запретить двойное нажатие на кнопку, сделать слайдер только для чтения или временно приостановить все жесты в сложной форме? 🤷♂️ Для этих задач существуют специальные виджеты-контроллеры, которые оставаясь невидимыми, кардинально меняют логику взаимодействия 🔮.
Сегодня разберем двух таких стражей порядка: AbsorbPointer и IgnorePointer 🚀.
AbsorbPointer - полная блокировка: это стена 🚧. Когда
absorbing: true, все касания останавливаются на этом виджете 🛑. События не проходят к дочерним виджетам и не ищут другие цели 🔍.Пример: кнопка отправки формы 📝. Нужно заблокировать ее во время загрузки, но оставить видимой с анимацией 🔄:
AbsorbPointer(
absorbing: isLoading,
child: ElevatedButton(...),
)
IgnorePointer - сквозное игнорирование: это невидимка 🔮. При
ignoring: true виджет пропускает события сквозь себя 🔁. Hit-тестирование продолжается, события могут попасть в виджеты ниже 🔝.Пример: полупрозрачный баннер поверх карты 🗺. Баннер виден, но карта остается интерактивной 📍:
Stack(
children: [
InteractiveMap(),
IgnorePointer(
child: PromoBanner(),
),
],
)
Главное отличие:
🔵 AbsorbPointer: события не проходят вообще 🚫.
🔵 IgnorePointer: события проходят сквозь к виджетам позади 🔜.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #mobiledevelopment #uxdesign
👍1😁1
Вы используете буфер обмена Flutter неправильно (и упускаете эти 10 мощных функций)
Кнопка "Копировать в буфер обмена" в вашем приложении может делать гораздо больше, чем просто копировать текст! Давайте откроем скрытые супервозможности буфера обмена Flutter.
В этой статье мы рассмотрим 10 мощных функций буфера обмена, которые могут улучшить пользовательский опыт вашего приложения. Вы узнаете, как реализовать умное копирование и вставку, работать с форматированным текстом, обрабатывать изображения в буфере обмена, мониторить изменения в буфере обмена и многое другое.
🔹 Улучшите пользовательский опыт с помощью умного копирования и вставки
🔹 Работайте с форматированным текстом и изображениями в буфере обмена
🔹 Мониторьте изменения в буфере обмена для реализации умных функций
🔹 Обеспечьте безопасность конфиденциальных данных с помощью автоматического удаления из буфера обмена
🔹 Реализуйте историю буфера обмена для опытных пользователей
🇷🇺 Читать статью на русском:
Часть 1
Часть 2
🇬🇧 Read the article in English:
Part 1 → https://telegra.ph/Youre-Using-Flutters-Clipboard-Wrong-And-Missing-These-10-Powerful-Features-Part-1-01-20
Part 2 → https://telegra.ph/Youre-Using-Flutters-Clipboard-Wrong-And-Missing-These-10-Powerful-Features-Part-2-01-20
🌐 Читать оригинал
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам эта рубрика?
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #stateManagement #clipboard #uxdesign #flutterdev #fluttertutorial #flutterbestpractices #clipboardmanagement #flutterux #securedata #mobileapp #flutterpatterns #appdevelopment #flutterwidget #dartlang #fluttercommunity
Кнопка "Копировать в буфер обмена" в вашем приложении может делать гораздо больше, чем просто копировать текст! Давайте откроем скрытые супервозможности буфера обмена Flutter.
В этой статье мы рассмотрим 10 мощных функций буфера обмена, которые могут улучшить пользовательский опыт вашего приложения. Вы узнаете, как реализовать умное копирование и вставку, работать с форматированным текстом, обрабатывать изображения в буфере обмена, мониторить изменения в буфере обмена и многое другое.
🔹 Улучшите пользовательский опыт с помощью умного копирования и вставки
🔹 Работайте с форматированным текстом и изображениями в буфере обмена
🔹 Мониторьте изменения в буфере обмена для реализации умных функций
🔹 Обеспечьте безопасность конфиденциальных данных с помощью автоматического удаления из буфера обмена
🔹 Реализуйте историю буфера обмена для опытных пользователей
🇷🇺 Читать статью на русском:
Часть 1
Часть 2
🇬🇧 Read the article in English:
Part 1 → https://telegra.ph/Youre-Using-Flutters-Clipboard-Wrong-And-Missing-These-10-Powerful-Features-Part-1-01-20
Part 2 → https://telegra.ph/Youre-Using-Flutters-Clipboard-Wrong-And-Missing-These-10-Powerful-Features-Part-2-01-20
🌐 Читать оригинал
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам эта рубрика?
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #stateManagement #clipboard #uxdesign #flutterdev #fluttertutorial #flutterbestpractices #clipboardmanagement #flutterux #securedata #mobileapp #flutterpatterns #appdevelopment #flutterwidget #dartlang #fluttercommunity