CensorItWidget class

A widget that displays text with masked profanity segments.

The CensorItWidget processes the given text and replaces any words matching the specified pattern with masked characters from chars. It renders the resulting string as a RichText, allowing for customization of both normal and censored word styles, as well as providing a builder callback for fully custom censored-word widgets.

Inheritance

Constructors

CensorItWidget(String text, {Key? key, List<String> chars = const ['!', '#', '%', '&', '?', '@', '\$'], CensorPattern pattern = CensorPattern.all, Widget censoredWordBuilder(BuildContext context, Word word)?, TextStyle? style, TextStyle? censoredStyle, TextAlign textAlign = TextAlign.start, TextDirection? textDirection, bool softWrap = true, TextOverflow overflow = TextOverflow.clip, TextScaler textScaler = TextScaler.noScaling, int? maxLines})
Creates a CensorItWidget.

Properties

censoredStyle TextStyle?
Text style for censored segments. Recommendation: use monospaced fonts, as the standard one has different character widths.
final
censoredWordBuilder Widget Function(BuildContext context, Word word)?
Optional builder for fully custom rendering of each censored segment.
final
censorIt CensorIt
The CensorIt instance used to perform the censorship logic.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
maxLines int?
The maximum number of lines to display.
final
overflow TextOverflow
How visual overflow should be handled.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
softWrap bool
Whether the text should break at soft line breaks.
final
style TextStyle?
Text style for non-censored segments.
final
textAlign TextAlign
How the text should be aligned horizontally.
final
textDirection TextDirection?
The directionality of the text (e.g., ltr, rtl).
final
textScaler TextScaler
Controls text scaling behavior.
final

Methods

build(BuildContext context) Widget
Builds the RichText widget displaying the fully processed text.
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