StreamMessageComposerMediaAttachment class
A composer attachment that displays a fixed-size thumbnail for an image or video.
StreamMessageComposerMediaAttachment displays a child (typically an image or video
thumbnail) inside a square frame (default 72×72), with an optional mediaBadge overlaid
at the bottom-start corner — used to indicate video duration or media type. The child
is given tight constraints equal to the thumbnail bounds, so an Image with
BoxFit.cover fills automatically.
{@tool snippet}
An image media attachment:
StreamMessageComposerMediaAttachment(
onRemovePressed: () => removeAttachment(),
child: Image(image: NetworkImage(url), fit: BoxFit.cover),
)
{@end-tool}
{@tool snippet}
A video thumbnail with a duration badge:
StreamMessageComposerMediaAttachment(
mediaBadge: StreamMediaBadge(
type: MediaBadgeType.video,
duration: Duration(minutes: 1, seconds: 42),
),
onRemovePressed: () => removeAttachment(),
child: Image(image: NetworkImage(thumbnailUrl), fit: BoxFit.cover),
)
{@end-tool}
Theming
StreamMessageComposerMediaAttachment uses StreamMessageComposerMediaAttachmentThemeData
for default styling, including the border color and the thumbnail dimensions.
Per-instance style takes precedence over the inherited theme.
See also:
- StreamMessageComposerMediaAttachmentTheme, for customizing media attachments globally.
- StreamMessageComposerAttachment, the surrounding container.
- StreamMediaBadge, the badge typically passed as
mediaBadge. - DefaultStreamMessageComposerMediaAttachment, the default visual implementation.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- StreamMessageComposerMediaAttachment
Constructors
- StreamMessageComposerMediaAttachment({Key? key, required Widget child, VoidCallback? onRemovePressed, Widget? mediaBadge, StreamMessageComposerMediaAttachmentThemeData? style})
-
Creates a media attachment with a custom
child.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- props → StreamMessageComposerMediaAttachmentProps
-
The properties that configure this media attachment.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
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, int wrapWidth = 65}) → 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