empathetech_flutter_ui 3.1.2 copy "empathetech_flutter_ui: ^3.1.2" to clipboard
empathetech_flutter_ui: ^3.1.2 copied to clipboard

EFUI makes building accessible and user customizable UIs EZ. So everyone can enjoy your great idea!

empathetech_flutter_ui #

EFUI

UIs designed with EFUI will be...

  • fully responsive (fits well on all screens)
  • user accessible
  • massively user customizable
  • dynamically styled on mobile to match OS convention (iOS looks natural)

Table of Contents #

Installation #

Thankfully, these instructions are auto-generated by Flutter. They can be found at the pub.dev page

Usage #

Check out our public projects using EFUI:

An official /example app is coming soon as well!

How it works #

First, in main, initialize EzConfig

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Initialize EzConfig
  final SharedPreferences prefs = await SharedPreferences.getInstance();
  EzConfig(
    assetPaths: assets,
    preferences: prefs,
  );

  // Set device orientations
  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);

  runApp(const ETechDotNet());
}

taken from dotnet-public

then, initialize your EzApp

final GoRouter _router = GoRouter(
  initialLocation: '/',
  routes: <RouteBase>[
    GoRoute(
      name: 'home',
      path: '/',
      builder: (BuildContext context, GoRouterState state) {
        return const HomeScreen();
      },
      routes: <RouteBase>[
        GoRoute(
          name: 'products',
          path: 'products',
          builder: (BuildContext context, GoRouterState state) {
            return const ProductsScreen();
          },
        ),
        ...
      ],
    ),
  ],
)
...
return EzApp(
  title: appTitle,
  routerConfig: _router,
);

It's that Ez! EzConfig stores the styling information for the app, in a globally accessible instance.

On startup, EzConfig is used to generate theme data based on user preferences stored with shared preferences.

In conjunction with the custom widgets below, EzConfig enables real-time theme alterations in app

  • EzColorSetting: A user-friendly color picker to update theme colors.
  • EzDominantHandSwitch: Moves common touch points to benefit lefty's when they want it!
  • EzFontSetting: An interface for users to select their preferred font from a predefined list.
  • EzImageSetting: A user-friendly image uploader to update app assets.
  • EzSliderSetting: A versatile slider widget for numerical customizations of many kinds (margin, padding, spacing, etc).
  • EzThemeModeSwitch: A toggle for users to switch between light, dark, or system theming.

See them in action

There's lots of other cool stuff in EFUI, like EzRowCol, EzNotifications, and EzVideoPlayer! We think EzConfig will hook you in enough to want to explore the rest!

Contributing #

Time #

Please reach out to the community contact about becoming a contributor.

But you don't have to wait for us! You can make a fork and start your personal changes at any time.

Also, if you build something with EFUI, let us know! We'd love to have a third-party section under usage

Money #

Many thanks for any and all donations! We're happy to have helped!

Paypal #

paypal

Venmo #

@empathetech-llc

Cash App #

$empathetech

License #

GNU GPLv3

Credits #

Flutter OSS #

EFUI would not be as awesome as it is without these other awesome community projects...

And, of course, all the awesome Google devs.