LaunchLink class

A unified widget that provides a simplified API for launching various URL types.

This widget adapts its behavior and appearance based on the mode (Button vs Row) and type (WhatsApp, Email, Phone, etc.).

Inheritance

Constructors

LaunchLink({Key? key, LaunchDisplayMode mode = LaunchDisplayMode.actionButton, required LaunchType type, String? label, String? visibleText, String? value, IconData? icon, LaunchIcon? customIcon, bool showIcon = true, LaunchStyle? style, Map<String, dynamic>? queryParameters, String? shareText, String? shareSubject, VoidCallback? onTap, dynamic onResult(bool)?, List<String>? allowedSchemes, LaunchOptions? options, MainAxisAlignment? alignment, bool? showUnderline, CalendarEvent? calendarEvent})
Creates a unified LaunchLink widget.
const

Properties

alignment → MainAxisAlignment?
Structural alignment of elements when mode is LaunchDisplayMode.linkRow.
final
allowedSchemes → List<String>?
A restrictive list of URI schemes allowed for this launch.
final
calendarEvent → CalendarEvent?
Optional CalendarEvent object for calendar events.
final
customIcon → LaunchIcon?
A more flexible custom icon/image provider (SVG, Assets, Network). If provided, this takes precedence over icon.
final
hashCode → int
The hash code for this object.
no setterinherited
icon → IconData?
An optional custom icon (IconData) to override the default for the type.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
label → String?
The label displayed when mode is LaunchDisplayMode.actionButton.
final
mode → LaunchDisplayMode
The visual representation mode: LaunchDisplayMode.actionButton or LaunchDisplayMode.linkRow.
final
onResult → dynamic Function(bool)?
Callback executed after the launch attempt, providing the success status.
final
onTap → VoidCallback?
Callback executed immediately when the widget is tapped.
final
options → LaunchOptions?
Optional launch options for advanced control, such as multi-choice dialogs.
final
queryParameters → Map<String, dynamic>?
Additional query parameters to be appended to the URI.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
shareSubject → String?
Subject for sharing when type is LaunchType.share.
final
shareText → String?
Text to be shared when type is LaunchType.share.
final
showIcon → bool
Whether to show the icon. Defaults to true.
final
showUnderline → bool?
Whether to show an underline beneath the link text when in LaunchDisplayMode.linkRow mode. If null, it defaults to true.
final
style → LaunchStyle?
Detailed styling configuration for the widget.
final
type → LaunchType
The category of URL to be launched (e.g., LaunchType.whatsapp, LaunchType.email).
final
value → String?
The primary data for the launch (phone number, email address, or raw URL).
final
visibleText → String?
The text visible when mode is LaunchDisplayMode.linkRow.
final

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