reusable_switch_btn
A customizable Flutter package that provides flexible and animated switch buttons, including:
- AppSwitch: A beautifully animated switch with ON/OFF labels.
- AppSwitchCard: A ready-to-use card layout with a title and switch.
- NormalSwitch: A simple wrapper around the native Flutter Switch widget.
Easily control user toggles with elegant design and smooth animations.
Features
- Custom ON/OFF texts.
- Customizable colors (background, text, and active thumb).
- Animated alignment for the switch.
- Card layout ready with title and switch button.
- Optional initial switch state.
Installation
Add this to your pubspec.yaml
:
dependencies:
reusable_switch_btn: <latest_version>
Then run:
flutter pub get
Usage
Import
import 'package:reusable_switch_btn/reusable_switch_btn.dart';
Example: AppSwitch
AppSwitch(
activeTxt: 'Yes',
disableTxt: 'No',
initSwitched: true,
onChanged: (bool value) {
print('Switch state: \$value');
},
)
Example: AppSwitchCard
AppSwitchCard(
title: 'Enable Notifications',
activeTxt: 'ON',
disableTxt: 'OFF',
initSwitched: false,
onChanged: (bool value) {
print('Notifications enabled: \$value');
},
)
Example: NormalSwitch
NormalSwitch(
isSwitched: true,
onChanged: (bool value) {
print('Normal Switch: \$value');
},
)
Widgets
Widget | Purpose |
---|---|
AppSwitch |
Custom animated switch button |
AppSwitchCard |
Switch button inside a card with title |
NormalSwitch |
Simple Flutter switch wrapper |
Constructor Parameters (AppSwitch)
Name | Type | Description |
---|---|---|
activeTxt |
String? |
Text shown when the switch is active (default: ON) |
disableTxt |
String? |
Text shown when the switch is inactive (default: OFF) |
initSwitched |
bool? |
Initial switch state |
onChanged |
ValueChanged<bool>? |
Callback when switch is toggled |
activeColor |
Color? |
Background color when active |
deActiveColor |
Color? |
Background color when inactive |
activeTxtColor |
Color? |
Active text color |
activeOptionColor |
Color? |
Color of the active circle/thumb |
Notes
AppSwitch
uses an external text style dependency (app_style
package). You can replace it with your custom TextStyle if needed.- Highly customizable to fit different UI designs.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to open issues or contribute if you find ways to improve this widget!
Author
Shohidul Islam