TImage class

An image widget with preview, fallback, and optional title/subtitle.

TImage provides an advanced image display with:

  • Network image loading with fallback
  • Click to preview with zoom (using PhotoView)
  • Custom shapes (rounded, circle)
  • Title and subtitle support
  • Aspect ratio control
  • Placeholder images

Basic Usage

TImage(
  url: 'https://example.com/image.jpg',
  size: 100,
)

Circle Image

TImage.circle(
  url: user.avatarUrl,
  size: 60,
  title: user.name,
  subTitle: user.role,
)

Profile Image

TImage.profile(
  url: user.avatarUrl,
  name: user.name,
  role: user.role,
  size: 42,
)

See also:

Inheritance
Mixed-in types

Constructors

TImage({Key? key, String? url, double size = 80, double previewSize = 350, double aspectRatio = 1, String placeholder = 'package:te_widgets/assets/icons/no_image.png', ShapeBorder border = const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(12))), double padding = 5, BoxFit fit = BoxFit.cover, Color? color, String? title, String? subTitle, Color? titleColor, Color? subTitleColor, bool disabled = false, VoidCallback? onShow, VoidCallback? onHide})
Creates an image widget.
const
TImage.circle({Key? key, String? url, double size = 80, double previewSize = 350, double aspectRatio = 1, String placeholder = 'package:te_widgets/assets/icons/no_image.png', ShapeBorder border = const CircleBorder(), double padding = 5, BoxFit fit = BoxFit.contain, Color? color, String? title, String? subTitle, Color? titleColor, Color? subTitleColor, bool disabled = false, VoidCallback? onShow, VoidCallback? onHide})
Creates a circular image widget.
const

Properties

alignment TPopupAlignment
Preferred alignment of the popup.
no setteroverride
aspectRatio double
The aspect ratio of the image.
final
border ShapeBorder
The border shape of the image.
final
color Color?
Background color for the image container.
final
disabled bool
Whether the image preview is disabled.
final
fit BoxFit
How the image should fit within its bounds.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
offset double
Offset from the target widget.
no setterinherited
onHide VoidCallback?
Callback fired when the preview is hidden.
final
onShow VoidCallback?
Callback fired when the preview is shown.
final
padding double
Padding around the image.
final
placeholder String
The placeholder image path (supports package assets).
final
previewSize double
The size of the preview when clicked.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
size double
The size of the image (width and height for square images).
final
subTitle String?
Optional subtitle text displayed below the title.
final
subTitleColor Color?
Custom color for the subtitle text.
final
title String?
Optional title text displayed next to the image.
final
titleColor Color?
Custom color for the title text.
final
url String?
The URL of the image to display.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<TImage>
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, 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

Static Methods

profile({String? url, String? name, String? role, double size = 42, double padding = 5}) TImage
Creates a profile image with default styling.