analytics

A package containing helpful utility functions and widgets for Flutter projects.

-> Submit an issue here. -> Create a pull request here. -> Contact me via email here.

  • Responsive widget that rebuilds for mobile, tablet, and desktop views.
    • ResponsiveView(mobile: YOUR_WIDGET, tablet: YOUR_WIDGET, desktop: YOUR_WIDGET)
  • Shorthands for MediaQuery.of(context).size.HEIGHT/WIDTH * SOME_FRACTION
    • heightFrac(context, SOME_FRACTION)
    • widthFrac(context, SOME_FRACTION)
  • Number formatting.
    • largeNumberFormatter(int number) -> Example: 1812212 to "1.8m"
    • numberPostfix(int number) -> Example: 4 to "th", or 3 to "rd"
  • And much more, just scroll down for the list of functions/widgets!

Example Gif 📸

Functions: Numbers 📜

Checks if the integer passed is plural.

bool isPlural(int number);

Example: 13 -> true

Converts large numbers into smaller representations with letters.

String largeNumberFormatter(
int  number, {
String  billionLetter  =  "b",
String  millionLetter  =  "m",
String  thousandLetter  =  "k",
});

Example: 1,812,398 -> "1.8m"

Adds a postfix to numbers.

String numberPostfix(int number);

Example: 4 -> "4th"

Functions: Sizing 📜

Height fraction of screen, up to a set point.

double heightBreakpointFrac(Buildcontext context, double fraction, double lockPoint);

Example: If you set fraction as 1/4, then this will return 1/4 * screen height up to the point that you set as lockPoint.

Width fraction of screen, up to a set point.

double widthBreakpointFrac(Buildcontext context, double fraction, double lockPoint);

Example: If you set fraction as 1/4, then this will return 1/4 * screen width up to the point that you set as lockPoint.

Height fraction of screen.

double  heightFrac(BuildContext  context, double  fraction);

Example: If you set fraction as 1/5, then it will return 1/5 * screen height.

Width fraction of screen.

double  widthFrac(BuildContext  context, double  fraction);

Example: If you set fraction as 1/5, then it will return 1/5 * screen width.

Height excluding top or bottom safe area.

double  heightWithoutSafeArea(BuildContext  context,{bool  withoutTopSafeArea  =  true, bool  withoutBottomSafeArea  =  true});

Example: Will return the height of the screen excluding either the top or bottom safe area heights.

Number until limit.

double  numberUntilLimit(double number, double limit);

Example: If number is the screen width and limit is 200, then this will return the screen width until limit is reached, then it will just return 200.

Functions: Types 📜

Checks if value is null.

bool  isNull(dynamic value);

Example: If null is passed, this will return true. Otherwise, it would return false.

Checks if value is not null.

bool  notNull(dynamic value);

Example: If "14" is passed, this will return true.

Functions: Validators 📜

Passed String is empty checker.

bool emptyValidator(String value);

Example: If " " is passed, then it will return false.

Passed list of Strings is empty checker.

bool  multipleEmptyValidator(List<String> values);

Example: If "test1", "test2", " " is passed, then it will return false;

Widgets: Sizing 📜

Mobile, Tablet, and Desktop view builder.

ResponsiveView(
	 mobile: Scaffold(...),
	 tablet: Scaffold(...),
	 desktop: Scaffold(...),
);

Example: Builds out 3 different views based on screen width breakpoints. Breakpoint values can be customized.

SizedBox same height as bottom safe area.

SimulatedBottomSafeArea(
	 heightMultiplier: 2,
);

Example: Returns a SizedBox with the height of the bottom safe area * heightMultiplier. Useful for lists where you desire them to be scrolled without being wrapped with a SafeArea, but don't want the last list item to be obscured by it. Usually, placed at the end of a long list of widgets.

Additional Info 📣

  • The package is always open to improvements, suggestions, and additions!

  • I'll deal with PRs and issues as soon as I can!

Libraries

core_utils