This commit is contained in:
2026-07-12 04:33:48 +08:00
parent f8a90ad305
commit e7ce0f7bae
151 changed files with 2765 additions and 2947 deletions

View File

@@ -9,7 +9,7 @@ enum TrimMode {
class ReadMoreText extends StatefulWidget {
const ReadMoreText(
this.data, {
Key key,
Key? key,
this.trimExpandedText = ' read less',
this.trimCollapsedText = ' ...read more',
this.colorClickableText,
@@ -28,16 +28,16 @@ class ReadMoreText extends StatefulWidget {
final String data;
final String trimExpandedText;
final String trimCollapsedText;
final Color colorClickableText;
final Color? colorClickableText;
final int trimLength;
final int trimLines;
final TrimMode trimMode;
final TextStyle style;
final TextAlign textAlign;
final TextDirection textDirection;
final Locale locale;
final double textScaleFactor;
final String semanticsLabel;
final TextStyle? style;
final TextAlign? textAlign;
final TextDirection? textDirection;
final Locale? locale;
final double? textScaleFactor;
final String? semanticsLabel;
@override
ReadMoreTextState createState() => ReadMoreTextState();
@@ -57,8 +57,8 @@ class ReadMoreTextState extends State<ReadMoreText> {
@override
Widget build(BuildContext context) {
final DefaultTextStyle defaultTextStyle = DefaultTextStyle.of(context);
TextStyle effectiveTextStyle = widget.style;
if (widget.style == null || widget.style.inherit) {
TextStyle? effectiveTextStyle = widget.style;
if (widget.style == null || widget.style!.inherit) {
effectiveTextStyle = defaultTextStyle.style.merge(widget.style);
}
@@ -66,7 +66,7 @@ class ReadMoreTextState extends State<ReadMoreText> {
widget.textAlign ?? defaultTextStyle.textAlign ?? TextAlign.start;
final textDirection = widget.textDirection ?? Directionality.of(context);
final textScaleFactor =
widget.textScaleFactor ?? MediaQuery.textScaleFactorOf(context);
widget.textScaleFactor ?? MediaQuery.textScalerOf(context).scale(1);
final overflow = defaultTextStyle.overflow;
final locale =
widget.locale ?? Localizations.localeOf(context);
@@ -76,7 +76,7 @@ class ReadMoreTextState extends State<ReadMoreText> {
TextSpan link = TextSpan(
text: _readMore ? widget.trimCollapsedText : widget.trimExpandedText,
style: effectiveTextStyle.copyWith(
style: effectiveTextStyle?.copyWith(
color: colorClickableText,
),
recognizer: TapGestureRecognizer()..onTap = _onTapLink,
@@ -98,7 +98,7 @@ class ReadMoreTextState extends State<ReadMoreText> {
text: link,
textAlign: textAlign,
textDirection: textDirection,
textScaleFactor: textScaleFactor,
textScaler: TextScaler.linear(textScaleFactor),
maxLines: widget.trimLines,
ellipsis: overflow == TextOverflow.ellipsis ? _kEllipsis : null,
locale: locale,
@@ -115,7 +115,7 @@ class ReadMoreTextState extends State<ReadMoreText> {
// Get the endIndex of data
bool linkLongerThanLine = false;
int endIndex;
int? endIndex;
if (linkSize.width < maxWidth) {
final pos = textPainter.getPositionForOffset(Offset(