Preview class base

Annotation used to mark functions that return a widget preview.

NOTE: this interface is not stable and will change.

Functions annotated with @Preview() must return a Widget or WidgetBuilder and be public. This annotation can only be applied to top-level functions, static methods defined within a class, and public Widget constructors and factories with no required arguments.
link
@Preview(name: 'Top-level preview')
Widget preview() => const Text('Foo');

@Preview(name: 'Builder preview')
WidgetBuilder builderPreview() {
  return (BuildContext context) {
    return const Text('Builder');
  };
}

class MyWidget extends StatelessWidget {
  @Preview(name: 'Constructor preview')
  const MyWidget.preview({super.key});

  @Preview(name: 'Factory constructor preview')
  factory MyWidget.factoryPreview() => const MyWidget.preview();

  @Preview(name: 'Static preview')
  static Widget previewStatic() => const Text('Static');

  @override
  Widget build(BuildContext context) {
    return const Text('MyWidget');
  }
}

Important Note: all values provided to the @Preview() annotation must be constant, and callback parameters must also be static and non-private. These restrictions do not apply when creating instances of Preview at runtime, including within Preview.transform().

See also:

Constructors

Preview({String group = 'Default', String? name, Size? size, double? textScaleFactor, WidgetWrapper? wrapper, PreviewTheme? theme, Brightness? brightness, PreviewLocalizations? localizations})
Annotation used to mark functions that return widget previews.
const

Properties

brightness Brightness?
Sets the initial theme brightness.
final
group String
The group the preview belongs to.
final
hashCode int
The hash code for this object.
no setterinherited
localizations PreviewLocalizations?
A callback to return a localization configuration to be applied to the previewed Widget.
final
name String?
A description to be displayed alongside the preview.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
size Size?
Artificial constraints to be applied to the previewed widget.
final
textScaleFactor double?
Applies font scaling to text within the previewed widget.
final
theme PreviewTheme?
A callback to return Material and Cupertino theming data to be applied to the previewed Widget.
final
wrapper WidgetWrapper?
Wraps the previewed Widget in a Widget tree.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toBuilder() PreviewBuilder
Creates a PreviewBuilder initialized with the values set in this preview.
toString() String
A string representation of this object.
inherited
transform() Preview
Applies a transformation to the current Preview.

Operators

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