TF-1933 Fix text overflow with ellipsis is weird and ugly by design

(cherry picked from commit a4dd353672eca725abd66bee94347dc339b1102f)
This commit is contained in:
dab246
2023-06-27 21:48:18 +07:00
committed by Dat Vu
parent bc8a03cbce
commit 04a8274b49
13 changed files with 115 additions and 134 deletions
+1
View File
@@ -49,6 +49,7 @@ export 'presentation/views/text/text_field_builder.dart';
export 'presentation/views/text/text_form_field_builder.dart';
export 'presentation/views/text/input_decoration_builder.dart';
export 'presentation/views/text/rich_text_builder.dart';
export 'presentation/views/text/text_overflow_builder.dart';
export 'presentation/views/responsive/responsive_widget.dart';
export 'presentation/views/list/tree_view.dart';
export 'presentation/views/button/button_builder.dart';
@@ -40,8 +40,9 @@ extension StringExtension on String {
}
}
String get withUnicodeCharacter {
String get overflow {
return characters
.replaceAll(Characters(''), Characters('\u{200B}'))
.replaceAll(Characters('-'), Characters('\u{2011}'))
.toString();
}
@@ -0,0 +1,38 @@
import 'package:core/presentation/extensions/string_extension.dart';
import 'package:core/presentation/utils/style_utils.dart';
import 'package:flutter/material.dart';
class TextOverflowBuilder extends StatelessWidget {
final String data;
final TextStyle? style;
final TextAlign? textAlign;
final bool? softWrap;
final int? maxLines;
final TextDirection? textDirection;
final TextOverflow? overflow;
const TextOverflowBuilder(this.data, {
super.key,
this.style,
this.textAlign,
this.softWrap = CommonTextStyle.defaultSoftWrap,
this.maxLines = 1,
this.textDirection,
this.overflow = CommonTextStyle.defaultTextOverFlow,
});
@override
Widget build(BuildContext context) {
return Text(
data.overflow,
style: style,
textAlign: textAlign,
softWrap: softWrap,
maxLines: maxLines,
textDirection: textDirection,
overflow: overflow,
);
}
}