AnimatedTapButton

A Flutter package that provides an animated button widget which can toggle between two icons with a smooth animation and customizable haptic feedback on tap.

Features

  • Smooth animation between two icon states.
  • Haptic feedback for better user experience.
  • Customizable icon size, color, and type for both selected and unselected states.
  • Fully controllable with external state management via onValueChanged.

Getting started

Import the package into your Dart file:

import 'package:animated_tap_button/animated_tap_button.dart';

Use the AnimatedTapButton widget in your widget tree:

AnimatedTapButton(
  iconSize: 40.0, // optional
  initialValue: false, // default state (true/false)
  onValueChanged: (bool newValue) {
    // handle the state change here
    print('Button state: $newValue');
  },
  selectedIcon: Icons.favorite, // optional, default is Icons.favorite
  unselectedIcon: Icons.favorite_border, // optional, default is Icons.favorite_border
  iconColor: Colors.red, // optional, sets the icon color
),

Parameters

iconSize: The size of the icon. Defaults to 30.0. Range between 20.0 and 100.0. initialValue: Boolean indicating the initial state (selected/unselected). onValueChanged: Callback function triggered when the button's value changes. selectedIcon: The icon to display when the button is in the selected state. Defaults to Icons.favorite. unselectedIcon: The icon to display when the button is in the unselected state. Defaults to Icons.favorite_border. iconColor: Color of the icon.

Parameter Description Default Required
initialValue Boolean indicating the initial state (selected/unselected).
onValueChanged Callback function triggered when the button's value changes.
iconSize The size of the icon. Defaults to 30.0. Range between 20.0 and 100.0. 30.0
selectedIcon The icon to display when the button is in the selected state. Icons.favorite
unselectedIcon The icon to display when the button is in the unselected state. Icons.favorite_border
iconColor Color of the icon. Default icon color