UHtmlView class

Read-only renderer that draws stored HTML with native Flutter widgets, so it works on every platform without a WebView. It shares the parser and styling used by URichTextEditor, so what you edit is exactly what you see.

UHtmlView(
  html: post.body,
  selectable: true,
  onLinkTap: (String href) => ULaunch.launchURL(href),
)
Inheritance
Available extensions

Constructors

UHtmlView({required String html, Key? key, ValueChanged<String>? onLinkTap, ValueChanged<String>? onImageTap, void onChecklistChanged(int index, bool checked)?, UHtmlImageBuilder? imageBuilder, bool selectable = false, bool showCodeCopyButton = true, EdgeInsets padding = EdgeInsets.zero, TextStyle? textStyle, TextDirection? textDirection, double? imageHeight, bool scrollable = false})
const

Properties

hashCode → int
The hash code for this object.
no setterinherited
html → String
final
imageBuilder → UHtmlImageBuilder?
Replace the default image rendering.
final
imageHeight → double?
Fixed height for images. Null keeps the intrinsic aspect ratio.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onChecklistChanged → void Function(int index, bool checked)?
When set, checklist items become tappable and report (index, checked) where index counts checklist items from the top of the document.
final
onImageTap → ValueChanged<String>?
Called when an image is tapped. Defaults to a full screen image viewer.
final
onLinkTap → ValueChanged<String>?
Called when a link is tapped. Defaults to opening it with ULaunch.
final
padding → EdgeInsets
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scrollable → bool
Wrap the output in its own scroll view. Leave false when already inside a scrollable.
final
selectable → bool
Allow the user to select and copy the rendered text.
final
showCodeCopyButton → bool
Show a copy button on code blocks.
final
textDirection → TextDirection?
final
textStyle → TextStyle?
Overrides the base text style every block is derived from.
final

Methods

alignAtBottomCenter({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtBottomLeft({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtBottomRight({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtCenter({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtCenterLeft({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtCenterRight({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtLERP(Alignment a, Alignment b, double t, {Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtTopCenter({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtTopLeft({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignAtTopRight({Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

alignXY(double x, double y, {Key? key, double? heightFactor, double? widthFactor}) → Align

Available on Widget, provided by the WidgetsExtension extension

card({Color? backgroundColor, double? elevation, EdgeInsets? margin}) → Widget

Available on Widget, provided by the WidgetsExtension extension

container({double? width, double? height, Alignment? alignment, Color? backgroundColor, double borderWidth = 1, double radius = 1, Color borderColor = Colors.transparent, EdgeInsets? padding, EdgeInsets? margin, BoxConstraints? constraints}) → Widget

Available on Widget, provided by the WidgetsExtension extension

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<UHtmlView>
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
expanded({int flex = 1}) → Widget

Available on Widget, provided by the WidgetsExtension extension

fadeSlideIn({int milliseconds = 1000, double offset = 24}) → Widget

Available on Widget, provided by the WidgetsExtension extension

fit({Alignment alignment = Alignment.center}) → Widget

Available on Widget, provided by the WidgetsExtension extension

form(GlobalKey<FormState> key) → Widget

Available on Widget, provided by the WidgetsExtension extension

ltr() → Widget

Available on Widget, provided by the WidgetsExtension extension

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onDoubleTap(GestureTapCallback? onPressed) → Widget

Available on Widget, provided by the WidgetsExtension extension

onLongPress(GestureTapCallback? onPressed) → Widget

Available on Widget, provided by the WidgetsExtension extension

onPress(VoidCallback onTap, {double pressedScale = 0.9, Duration duration = const Duration(milliseconds: 120)}) → Widget

Available on Widget, provided by the WidgetsExtension extension

onTap(GestureTapCallback? onPressed) → Widget

Available on Widget, provided by the WidgetsExtension extension

onTapInk(GestureTapCallback? onPressed) → Widget

Available on Widget, provided by the WidgetsExtension extension

pAll(double padding) → Widget

Available on Widget, provided by the WidgetsExtension extension

pOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) → Widget

Available on Widget, provided by the WidgetsExtension extension

position({double? left, double? top, double? right, double? bottom, double? width, double? height}) → Widget

Available on Widget, provided by the WidgetsExtension extension

pSymmetric({double horizontal = 0.0, double vertical = 0.0}) → Widget

Available on Widget, provided by the WidgetsExtension extension

rotate(double scale) → Widget

Available on Widget, provided by the WidgetsExtension extension

rtl() → Widget

Available on Widget, provided by the WidgetsExtension extension

safeArea() → Widget

Available on Widget, provided by the WidgetsExtension extension

scale(double scale) → Widget

Available on Widget, provided by the WidgetsExtension extension

scrollable({Axis scrollDirection = Axis.vertical}) → Widget

Available on Widget, provided by the WidgetsExtension extension

showMenus(List<PopupMenuEntry<int>> items) → Widget

Available on Widget, provided by the WidgetsExtension extension

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
translate(Offset offset) → Widget

Available on Widget, provided by the WidgetsExtension extension

Operators

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