Skip to content

Explore-In-HMS/flutter_favorites_package

Repository files navigation

flutter_favorites_package

Get Started

The goal of this package is to not create same components in the different projects. We will define styles, icons, widgets etc. to avoid wasting time.

These widgets are supported:

  • Social media buttons
  • Color picker
  • Colorful text
  • Draggable container
  • Duration picker
  • Image icon
  • Icon badge
  • Info dialog
  • Time picker



Widgets


Code Snippets

Screenshots
HColorPicker(
defaultColor: _selectedColor,
selectedColor: (Color color) { },
)
/>
ColorfulText(
"Example Colorful Text",
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
style: ThemeText.colorfulTextStyleLargeTitle,
colorList: const [Colors.white, Colors.black],
)
DraggableContainer(
 dragYOffset: 0,
 child: Center(
 child: Image.asset(
 ImagePaths.huaweiIconPath,
 fit: BoxFit.cover,
 ),
 ),
 onPressed: () {}
 )
DurationPicker(
onDurationSelected: (minutes) {},
borderRadius: 16,
chipTextStyle: const TextStyle(
color: Colors.yellow,
fontWeight: FontWeight.normal,
fontSize: 18),
chipBackgroundColor: Colors.indigo,
chipCount: 8,
startMinute: 10,
minuteInterval: 25,
spacing: 18,
runSpacing: 8,
chipPadding: 3,
height: 150,
)
/>
InfoDialog(
 imageSettings:
 ImageSettings(

 imagePath: ImagePaths.huaweiIconPath),
 title: "This is customized info dialog",
 subtitle:
 "We changed button text style, Title text style, subtitle text style,
background color, padding between title & subtitle and button style.",
 buttonText: const Text(
 "I see",
 style: TextStyle(color: Colors.amber),
 ),
 dialogBackgroundColor: Colors.orange,
 dialogRadius: 10,
 titleTextStyle: const TextStyle(
 color: Colors.white,
 fontSize: 20,
 fontWeight: FontWeight.bold),
 paddingBetweenTitleSubtitle: 30,
 subtitleTextStyle: const TextStyle(
 color: Colors.white,
 fontWeight: FontWeight.w400,
 fontSize: 16),
 buttonSettings: SubmitButtonSettings(
 height: 50,
 width: 200,
 buttonStyle: ButtonStyle(
 textStyle: MaterialStateProperty.resolveWith(
 (states) => const TextStyle(
 fontSize: 20,
 fontWeight: FontWeight.bold)),
 backgroundColor: MaterialStateColor.resolveWith(
 (states) => Colors.red))),
 onPressed: () { }
 ))
Column(
 mainAxisAlignment: MainAxisAlignment.center,
 children: [
 HSocialButtons.facebook(onPressed: () {}),
 const SizedBox(
 height: 15,
 ),
 HSocialButtons.google(onPressed: () {}),
 const SizedBox(
 height: 15,
 ),
 HSocialButtons.huawei(onPressed: () {}),
 const SizedBox(
 height: 15,
 ),
 HSocialButtons.github(onPressed: () {}),
 const SizedBox(
 height: 15,
 ),
 HSocialButtons.twitter(onPressed: () {}),
 const SizedBox(
 height: 15,
 ),
 HSubmitButton(
 onPressed: () {},
 child: const Text("Sign Up"),
 height: 50,
 width: 150,
 ),
 const SizedBox(
 height: 15,
 ),
 HSubmitButton.icon(
 width: 140,
 height: 60,
 onPressed: () {},
 icon: const Icon(Icons.add),
 label: const Text("Sign In")),
 ],
 )
TimePicker(
 selectText: "Select",
 onSelectPressed: (mills) {
 setState(() {
 _millisecond = mills;
 });
 Navigator.of(context).pop();
 },
 cancelText: "Cancel",
 onCancelPressed: () {
 Navigator.of(context).pop();
 },
 selected: DateTime.now(),
 interval: 10,
 containerHeight: 250,
 itemExtent: 20,
 magnification: 1.3,
 key: null,
 )
/>
HIconBadge(
 counts: _count,
 top: 2,
 badgeIcon: const Icon(Icons.calendar_month),
 iconSize: 50,
 containerPadding: const EdgeInsets.all(6),
 containerColor: HColors.hOrange[100],
 containerShape: BoxShape.circle,
 minWidth: 20,
 minHeight: 20,
 containerTextStyle: TextStyle(color: HColors.hPurple[100]).b12(),
 onSelectPressed: () {},
 )

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages