Skip to content

nero-angela/flutter_design_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9b041f0 · Feb 22, 2023

History

8 Commits
Feb 22, 2023
Feb 22, 2023
Feb 22, 2023
Nov 22, 2022
Nov 22, 2022
Nov 22, 2022
Feb 22, 2023
Nov 22, 2022
Feb 22, 2023
Nov 22, 2022
Feb 22, 2023

Repository files navigation

Flutter Design System

This is Flutter design system & responsive tutorial package.

Getting started

  1. Install flutter_design_system package.
flutter pub add flutter_design_system
  1. Wrap the root widget with ThemeInjector.
import 'package:flutter_design_system/flutter_design_system.dart';

void main() {
  runApp(
    const ThemeInjector(
      child: MyApp(),
    ),
  );
}
  1. Pass context.themeService.themeData and navigatorKey to MaterialApp, and call Toast.init() in builder.
final GlobalKey<NavigatorState> navigatorKey = GlobalKey();

@override
Widget build(BuildContext context) {
  return MaterialApp(
    navigatorKey: navigatorKey,
    theme: context.themeService.themeData,
    builder: (context, child) => Toast.init(navigatorKey, child),
    ...
  );
}

Demo

House of Tomorrow

Feature

Custom Theme

You can also create custom light and dark theme by implements AppTheme.

class MyLightTheme implements AppTheme {}
class MyDarkTheme implements AppTheme {}

Inject your custom themes as below.

void main() {
  runApp(
    ThemeInjector(
      themeService: ThemeService(
        brightness: Brightness.dark, // Current theme
        lightTheme: MyLightTheme(), // My light theme
        darkTheme: MyDarkTheme(), // My dark theme
      ),
      child: const MyApp(),
    ),
  );
}

Components

Light Theme Dark Theme
Light theme components image Dark theme components image

Responsive UI

SizedBox(
    width: context.layout(
        100, // base(mobile)
        tablet: 200, // tablet
        desktop: 300, // desktop
    ),
);

Releases

No releases published

Packages

No packages published