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.

Libraries

classes/Eb2Casa
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzApp
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzColors
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzColorSetting
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzConfig
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzDialog
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzDominantHandSwitch
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzFontSetting
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzImage
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzImageSetting
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzNotifications
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzRow
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzRowCol
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzScreen
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzScrollView
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzSelectableText
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzSliderSetting
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzSpacer
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzStoredImage
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzTextStyle
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzTextTheme
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzThemeModeSwitch
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzTransitions
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzVideoPlayer
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzWarning
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
classes/EzYesNo
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
empathetech_flutter_ui
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
functions/dialogs
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
functions/ezThemeData
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
functions/helpers
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
functions/storage
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
functions/text-styles
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
values/colors
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
values/credits
values/google-fonts
empathetech_flutter_ui Copyright (c) 2023 Empathetech LLC. All rights reserved. See LICENSE for distribution and usage details.
values/shared-preferences