What is Leitmotif?
A collection of widgets and screens for Flutter implementing the Leitmotif Design Language. It complements the default Material Widgets shipped with Flutter. Whose Widgets include custom implementation of
AppBars and a settings panel. Utility Screens (e.g. required to verify the user's age and to show the application's licenses) are also included.
'Leitmotif' is derived from the German noun 'Leitmotiv' which describes a dominant and recurring theme in music and literature.
Leitmotif is based on the LitUIKit project, which has been discontinued.
Visit our website for more details.
Created and maintained by LitLifeSoftware.
To use Leitmotif in your Flutter app make sure to import it by including the code line
import 'package:leitmotif/leitmotif.dart'; in the header part of your
For help getting started with Flutter, view Flutter's online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
|Date Picker||Licence Screen|
Leitmotif's widgets are currently localized in
To use Leitmotif's default localizations in your Flutter app make sure to utilize the
LeitmotifLocalizationsDelegate on your
Some widgets also require the
return MaterialApp( title: 'Leitmotif', localizationsDelegates: const [ LeitmotifLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [ Locale(LeitmotifLocalizationsEn.languageCode, ''), Locale(LeitmotifLocalizationsDe.languageCode, ''), ], home: ExampleHomeScreen(), );
Leitmotif does utilize its own icons (
LitIcons). They are stored inside a
ttf file and are implemented as Dart
To get a better understanding for implementing Leitmotif's widgets we recommend
to take a look at the example app provided in the
example folder. Feel free to
experiment with the UI.
Leitmotif uses the following Dart dependencies in order to implement certain features and functionality:
- package_info - License (Used to detect the platform and version details)
- intl - License (Used to access the device's locale)
- flutter_localizations - License (Used to implement default localizations)
- dartdoc - License (Used to create the documentation)
All the fonts in the
assets/fonts folder are licensed under the SIL OPEN FONT LICENSE.
All the icons in the
assets/icons folder are distributed under the CC-BY license.
All the images and screenshots in the
assets/images folder are distributed under the CC-BY license.
Everything else in this repository including the source code is distributed under the
BSD 3-Clause license as specified in the
- Flutter widgets implementing controllers required to perform certain UI-related operations on 'leitmotif' widgets.
- Flutter widgets implementing icons.
- A collection of Flutter widgets.
Leitmotifwidgets implementing the localization on dialog and screen widgets.
- Leitmotif widgets declaring data models to combine related properties.
- Flutter widgets implementing screens to either persent art, display general information or to get allow basic user inputs such as age and user data.
- Flutter widgets implementing styles such as color and texts styles.
- Leitmotif widgets implementing utilies such as converter and class extenstions.
- Widgets implementing various user interface components of the Leitmotif design language.