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