hashtagable 1.0.0
hashtagable: ^1.0.0 copied to clipboard
Widgets and functions to implement hashtag decorated text. Decorates the words which start with `#` like a Twitter.
hashtagable #
Widgets and functions to implement hashTag decorated text.
Decorates the words start with #
like a Twitter.
Usage #
- As TextField
You can use HashTagTextField
to decorate input text.
HashTagTextField(
decoratedStyle: TextStyle(fontSize: 14, color: Colors.blue),
basicStyle: TextStyle(fontSize: 14, color: Colors.black),
),
decoratedStyle
is the textStyle of tagged text. basicStyle
is for untagged text.
Other arguments are basically same as those of material TextField
- As ReadOnlyText

If you want to decorate the text only to display, HashTagText
will help you.
HashTagText(
text: "#Hello world. Hello #world",
decoratedStyle: TextStyle(fontSize: 14,color:Colors.red),
basicStyle: TextStyle(fontSize: 14,color:Colors.black),
onTap: (text) {
print(text);
},
)
The argument onTap(String)
is called when user tapped a hashTag.
You can add some actions in this callback with the tapped hashTag.
Customize with some useful functions #
- Check if the text has hashTags
print(hasHashtags("Hello #World"));
// true
print(hasHashtags("Hello World"));
// false
- Extract hashTags from text
final List<String> hashTags = extractHashTags("#Hello World #Flutter Dart #Thank you");
// ["#Hello", "#Flutter", "#Thank"]
Decoration rules #
The rules are almost same as twitter. It does not decorate the tags which contain emoji or symbol.
It needs space before #
to decorate.
