CupertinoAdaptiveTheme class

Widget that allows to switch themes dynamically. This is intended to be used above CupertinoApp. Example:

CupertinoAdaptiveTheme( light: lightTheme, dark: darkTheme, initial: AdaptiveThemeMode.light, builder: (theme, darkTheme) => CupertinoApp( theme: theme, darkTheme: darkTheme, home: MyHomePage(), ), );

Inheritance

Constructors

CupertinoAdaptiveTheme({Key? key, required CupertinoThemeData light, CupertinoThemeData? dark, required AdaptiveThemeMode initial, required CupertinoAdaptiveThemeBuilder builder, bool debugShowFloatingThemeButton = false})
Primary constructor which allows to configure themes initially.
const

Properties

builder CupertinoAdaptiveThemeBuilder
Provides a builder with access of light and dark theme. Intended to be used to return CupertinoApp.
final
dark CupertinoThemeData
Represents the dark theme for the app.
final
debugShowFloatingThemeButton bool
Indicates whether to show floating theme mode switcher button or not. This is ignored in release mode.
final
hashCode int
The hash code for this object.
no setterinherited
initial AdaptiveThemeMode
Indicates which AdaptiveThemeMode to use initially.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
light CupertinoThemeData
Represents the light theme for the app.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<CupertinoAdaptiveTheme>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

getThemeMode() Future<AdaptiveThemeMode?>
returns most recent theme mode. This can be used to eagerly get previous theme mode inside main method before calling runApp.
maybeOf(BuildContext context) AdaptiveThemeManager<CupertinoThemeData>?
Returns reference of the CupertinoAdaptiveThemeManager which allows access of the state object of CupertinoAdaptiveTheme in a restrictive way. This returns null if the state instance of CupertinoAdaptiveTheme is not found.
of(BuildContext context) AdaptiveThemeManager<CupertinoThemeData>
Returns reference of the CupertinoAdaptiveThemeManager which allows access of the state object of CupertinoAdaptiveTheme in a restrictive way.

Constants

prefKey → const String
Key used to store theme information into shared-preferences. If you want to persist theme mode changes even after shared-preferences is cleared (e.g. after log out), do not remove this prefKey key from shared-preferences.