From 03560108412749e6af53d0b71b3aa34d9834f3a6 Mon Sep 17 00:00:00 2001 From: p_jshanwang Date: Wed, 30 Apr 2025 11:08:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E8=A1=8C=E9=AB=98=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/editor/widgets/default_styles.dart | 4 ++++ lib/src/editor/widgets/text/text_line.dart | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/src/editor/widgets/default_styles.dart b/lib/src/editor/widgets/default_styles.dart index 87636f63c..bd4511978 100644 --- a/lib/src/editor/widgets/default_styles.dart +++ b/lib/src/editor/widgets/default_styles.dart @@ -247,6 +247,7 @@ class DefaultStyles { this.sizeLarge, this.sizeHuge, this.palette, + this.forceStrutHeight, }); final DefaultTextBlockStyle? h1; @@ -286,6 +287,8 @@ class DefaultStyles { /// Custom palette of colors final Map? palette; + final bool? forceStrutHeight; + static DefaultStyles getInstance(BuildContext context) { final themeData = Theme.of(context); final defaultTextStyle = DefaultTextStyle.of(context); @@ -564,6 +567,7 @@ class DefaultStyles { sizeLarge: other.sizeLarge ?? sizeLarge, sizeHuge: other.sizeHuge ?? sizeHuge, palette: other.palette ?? palette, + forceStrutHeight: other.forceStrutHeight ?? forceStrutHeight, ); } } diff --git a/lib/src/editor/widgets/text/text_line.dart b/lib/src/editor/widgets/text/text_line.dart index ee09dcc49..f20924715 100644 --- a/lib/src/editor/widgets/text/text_line.dart +++ b/lib/src/editor/widgets/text/text_line.dart @@ -170,8 +170,11 @@ class _TextLineState extends State { } } final textSpan = _getTextSpanForWholeLine(); - final strutStyle = - StrutStyle.fromTextStyle(textSpan.style ?? const TextStyle()); + // 增加强制固定行高 + final strutStyle = StrutStyle.fromTextStyle( + textSpan.style ?? const TextStyle(), + forceStrutHeight: widget.styles.forceStrutHeight ?? false, + ); final textAlign = _getTextAlign(); final child = RichText( key: _richTextKey, From cfa94a4ca2ef7234f5a8b1b7da1b3d641d4227ef Mon Sep 17 00:00:00 2001 From: p_jshanwang Date: Thu, 1 May 2025 13:19:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E5=B0=BD=E9=87=8F=E5=87=8F=E5=B0=91?= =?UTF-8?q?=E6=BA=90=E4=BB=A3=E7=A0=81=E7=9A=84=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/editor/widgets/default_styles.dart | 5 +++++ lib/src/editor/widgets/text/text_line.dart | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/src/editor/widgets/default_styles.dart b/lib/src/editor/widgets/default_styles.dart index bd4511978..a74d5f9d2 100644 --- a/lib/src/editor/widgets/default_styles.dart +++ b/lib/src/editor/widgets/default_styles.dart @@ -248,6 +248,7 @@ class DefaultStyles { this.sizeHuge, this.palette, this.forceStrutHeight, + this.leadingOffset, }); final DefaultTextBlockStyle? h1; @@ -287,7 +288,10 @@ class DefaultStyles { /// Custom palette of colors final Map? palette; + // 强制设置同高 final bool? forceStrutHeight; + // 基线位置 + final double? leadingOffset; static DefaultStyles getInstance(BuildContext context) { final themeData = Theme.of(context); @@ -568,6 +572,7 @@ class DefaultStyles { sizeHuge: other.sizeHuge ?? sizeHuge, palette: other.palette ?? palette, forceStrutHeight: other.forceStrutHeight ?? forceStrutHeight, + leadingOffset: other.leadingOffset ?? leadingOffset, ); } } diff --git a/lib/src/editor/widgets/text/text_line.dart b/lib/src/editor/widgets/text/text_line.dart index f20924715..ba5459a91 100644 --- a/lib/src/editor/widgets/text/text_line.dart +++ b/lib/src/editor/widgets/text/text_line.dart @@ -173,7 +173,8 @@ class _TextLineState extends State { // 增加强制固定行高 final strutStyle = StrutStyle.fromTextStyle( textSpan.style ?? const TextStyle(), - forceStrutHeight: widget.styles.forceStrutHeight ?? false, + forceStrutHeight: widget.styles.forceStrutHeight, + leading: widget.styles.leadingOffset, ); final textAlign = _getTextAlign(); final child = RichText(