Кнопка с градиентом и анимацией
Привет, подписчики! 👋 Сегодня мы рассмотрим интересный пример создания анимированной кнопки с градиентным фоном во Flutter. 📱✨
Основная идея:
Мы создадим кнопку, у которой при нажатии будет изменяться градиентный фон с анимацией. Для этого мы используем
Код примера:
Как это работает:
1. Мы оборачиваем
2. При нажатии на кнопку запускается анимация, которая изменяет градиент от исходного к целевому.
3.
Перспективы:
- Можно создать собственный объект рендеринга.
- Полностью переработать кнопку без использования
- Расширить
Оцените новую рубрику и напишите в комментариях, что хотели бы увидеть дальше! 👍 Оцените пост и подпишитесь 😉
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #Animation #FlutterTips #DartLang #GradientButton #AnimatedButton
Привет, подписчики! 👋 Сегодня мы рассмотрим интересный пример создания анимированной кнопки с градиентным фоном во Flutter. 📱✨
Основная идея:
Мы создадим кнопку, у которой при нажатии будет изменяться градиентный фон с анимацией. Для этого мы используем
AnimatedGradientButton
, который будет обрабатывать анимацию.Код примера:
class AnimatedGradientButton extends StatefulWidget {
final Text? label;
final Gradient gradient;
final Gradient onPushGradient;
final Icon? icon;
final Function()? onPressed;
AnimatedGradientButton({
this.label,
required this.gradient,
required this.onPushGradient,
this.icon,
this.onPressed,
});
@override
_AnimatedGradientButtonState createState() => _AnimatedGradientButtonState();
}
class _AnimatedGradientButtonState extends State<AnimatedGradientButton>
with TickerProviderStateMixin {
late AnimationController _controller;
late Animation<double> _animation;
@override
void initState() {
super.initState();
_controller = AnimationController(
duration: Duration(milliseconds: 1000),
vsync: this,
);
_animation = CurvedAnimation(curve: Curves.decelerate, parent: _controller);
}
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: _controller,
builder: (context, child) {
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24),
gradient: LinearGradient(
colors: widget.gradient.colors.map((color) => Color.lerp(
color,
widget.onPushGradient.colors[widget.gradient.colors.indexOf(color)],
_animation.value,
)).toList(),
),
),
child: MaterialButton(
onPressed: () {
_controller.forward();
widget.onPressed?.call();
_controller.reverse();
},
child: widget.label,
),
);
},
);
}
}
Как это работает:
1. Мы оборачиваем
MaterialButton
в контейнер с градиентным фоном.2. При нажатии на кнопку запускается анимация, которая изменяет градиент от исходного к целевому.
3.
Color.lerp
используется для плавного перехода между цветами градиента.Перспективы:
- Можно создать собственный объект рендеринга.
- Полностью переработать кнопку без использования
MaterialButton
.- Расширить
ButtonStyleButton
как обычные кнопки.Оцените новую рубрику и напишите в комментариях, что хотели бы увидеть дальше! 👍 Оцените пост и подпишитесь 😉
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #Animation #FlutterTips #DartLang #GradientButton #AnimatedButton
🔥2👍1
Обзор пакетов на тему "Списки" для Flutter 📝
flutter_slidable 🔄
Пакет позволяет создавать списки с элементами, которые можно сдвигать в разные стороны, вызывая различные действия.
👍 Лайки: 5940, 📥 Скачиваний: 504К
Последнее обновление 📅: 16 часов назад
https://pub.dev/packages/flutter_slidable
drag_and_drop_lists 📈
Этот пакет позволяет создавать списки с возможностью перетаскивания элементов между собой и внутри списков.
👍 Лайки: 445, 📥 Скачиваний: 13.2К
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/drag_and_drop_lists
searchable_listview 🔍
Этот пакет позволяет легко фильтровать списки, поддерживает асинхронные списки, сортировку, пагинацию и многое другое.
👍 Лайки: 256, 📥 Скачиваний: 3.85К
Последнее обновление 📅: 24 дня назад
https://pub.dev/packages/searchable_listview
animated_reorderable_list 🔄
Пакет позволяет создавать анимированные списки и сетки с функцией перетаскивания элементов.
👍 Лайки: 168, 📥 Скачиваний: 12.2К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/animated_reorderable_list
indexed_list_view 📊
Пакет позволяет создавать списки с возможностью мгновенного перехода к любому элементу по индексу.
👍 Лайки: 223, 📥 Скачиваний: 1.98К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/indexed_list_view
flutter_swipe_action_cell 🚀
Этот пакет позволяет создавать ячейки, которые можно свайпать, как в iOS.
👍 Лайки: 448, 📥 Скачиваний: 19.6К
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/flutter_swipe_action_cell
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #flutter_slidable #drag_and_drop_lists #searchable_listview #animated_reorderable_list #indexed_list_view #flutter_swipe_action_cell
flutter_slidable 🔄
Пакет позволяет создавать списки с элементами, которые можно сдвигать в разные стороны, вызывая различные действия.
👍 Лайки: 5940, 📥 Скачиваний: 504К
Последнее обновление 📅: 16 часов назад
https://pub.dev/packages/flutter_slidable
drag_and_drop_lists 📈
Этот пакет позволяет создавать списки с возможностью перетаскивания элементов между собой и внутри списков.
👍 Лайки: 445, 📥 Скачиваний: 13.2К
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/drag_and_drop_lists
searchable_listview 🔍
Этот пакет позволяет легко фильтровать списки, поддерживает асинхронные списки, сортировку, пагинацию и многое другое.
👍 Лайки: 256, 📥 Скачиваний: 3.85К
Последнее обновление 📅: 24 дня назад
https://pub.dev/packages/searchable_listview
animated_reorderable_list 🔄
Пакет позволяет создавать анимированные списки и сетки с функцией перетаскивания элементов.
👍 Лайки: 168, 📥 Скачиваний: 12.2К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/animated_reorderable_list
indexed_list_view 📊
Пакет позволяет создавать списки с возможностью мгновенного перехода к любому элементу по индексу.
👍 Лайки: 223, 📥 Скачиваний: 1.98К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/indexed_list_view
flutter_swipe_action_cell 🚀
Этот пакет позволяет создавать ячейки, которые можно свайпать, как в iOS.
👍 Лайки: 448, 📥 Скачиваний: 19.6К
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/flutter_swipe_action_cell
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #flutter_slidable #drag_and_drop_lists #searchable_listview #animated_reorderable_list #indexed_list_view #flutter_swipe_action_cell
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_multi_formatter 2.13.9
Плагин для форматирования телефонных номеров, кредитных карт, денег и других данных в приложениях Flutter.
В новой версии добавлена маска телефонного номера для Финляндии.
👍 Лайки: 594, 📥 Скачиваний: 155К
https://pub.dev/packages/flutter_multi_formatter
flutter_inapp_purchase 6.4.3
Плагин для реализации покупок внутри приложения в Flutter, соответствуя спецификации Open IAP.
В новой версии исправлены ошибки, улучшена безопасность типов и добавлена поддержка миллисекундных меток времени для полей даты.
👍 Лайки: 421, 📥 Скачиваний: 6.5К
https://pub.dev/packages/flutter_inapp_purchase
bottom_picker 4.1.1
Плагин для создания красивых и настраиваемых нижних выборщиков в приложениях Flutter.
В новой версии исправлена ошибка и добавлен флаг SafeArea для управления видимостью области безопасности в виджете bottom picker.
👍 Лайки: 343, 📥 Скачиваний: 14.9К
https://pub.dev/packages/bottom_picker
gql_code_builder 0.15.0
Плагин для генерации полезных классов из документов GraphQL и SDL.
В новой версии удален параметр allocator из публичных API, а также улучшена разделение задач между генерацией кода и управлением импортом.
👍 Лайки: 5, 📥 Скачиваний: 223К
https://pub.dev/packages/gql_code_builder
pdfrx 2.1.5
Плагин для просмотра PDF-файлов в приложениях Flutter.
В новой версии исправлена ошибка, связанная с перезагрузкой документа при каждом изменении виджета.
👍 Лайки: 246, 📥 Скачиваний: 216К
https://pub.dev/packages/pdfrx
Flame 1.31.0
Игровой движок на основе Flutter, предназначенный для создания игр.
В новой версии исправлены ошибки, добавлена поддержка моделирования и рендеринга в 3D, а также skeletal анимаций.
👍 Лайки: 2210, 📥 Скачиваний: 86К
https://pub.dev/packages/flame
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_multi_formatter #flutter_inapp_purchase #bottom_picker #gql_code_builder #pdfrx #Flame
flutter_multi_formatter 2.13.9
Плагин для форматирования телефонных номеров, кредитных карт, денег и других данных в приложениях Flutter.
В новой версии добавлена маска телефонного номера для Финляндии.
👍 Лайки: 594, 📥 Скачиваний: 155К
https://pub.dev/packages/flutter_multi_formatter
flutter_inapp_purchase 6.4.3
Плагин для реализации покупок внутри приложения в Flutter, соответствуя спецификации Open IAP.
В новой версии исправлены ошибки, улучшена безопасность типов и добавлена поддержка миллисекундных меток времени для полей даты.
👍 Лайки: 421, 📥 Скачиваний: 6.5К
https://pub.dev/packages/flutter_inapp_purchase
bottom_picker 4.1.1
Плагин для создания красивых и настраиваемых нижних выборщиков в приложениях Flutter.
В новой версии исправлена ошибка и добавлен флаг SafeArea для управления видимостью области безопасности в виджете bottom picker.
👍 Лайки: 343, 📥 Скачиваний: 14.9К
https://pub.dev/packages/bottom_picker
gql_code_builder 0.15.0
Плагин для генерации полезных классов из документов GraphQL и SDL.
В новой версии удален параметр allocator из публичных API, а также улучшена разделение задач между генерацией кода и управлением импортом.
👍 Лайки: 5, 📥 Скачиваний: 223К
https://pub.dev/packages/gql_code_builder
pdfrx 2.1.5
Плагин для просмотра PDF-файлов в приложениях Flutter.
В новой версии исправлена ошибка, связанная с перезагрузкой документа при каждом изменении виджета.
👍 Лайки: 246, 📥 Скачиваний: 216К
https://pub.dev/packages/pdfrx
Flame 1.31.0
Игровой движок на основе Flutter, предназначенный для создания игр.
В новой версии исправлены ошибки, добавлена поддержка моделирования и рендеринга в 3D, а также skeletal анимаций.
👍 Лайки: 2210, 📥 Скачиваний: 86К
https://pub.dev/packages/flame
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_multi_formatter #flutter_inapp_purchase #bottom_picker #gql_code_builder #pdfrx #Flame