在 Flutter 中,我想在文本块的末尾插入一个小部件(图标),但我想确保该小部件与文本的最后一个单词保持内联,并且不会自行换行。如果文字超长,则应将文字截断。否则的话可以分开。
返回Text.rich( 文本跨度( 孩子们: [ 文本跨度( 文本:标题, 样式: 文本样式, ), WidgetSpan(子级:填充( 填充:const EdgeInsets.only(左:6.0), 子项:图标,), 对齐:PlaceholderAlignment.middle ) ], ) );
我尝试将图标与最后一个字符放在一行中,但在某些情况下它不会将最后一个单词本身移动到下一行。
嗯,我相信最好的方法是将
Text.rich
替换为 Row,将 TextOverflow.ellipsis
添加到 overflow
的 Text
属性,使其类似于:
SizedBox(
width: 300,
child: Row(
children: [
const Flexible(
child: Text(
overflow: TextOverflow.ellipsis,
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
"Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
),
),
Container(
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.primary,
borderRadius: BorderRadius.circular(8),
),
child: Icon(
Icons.ac_unit,
color: Theme.of(context).colorScheme.onPrimary,
),
),
],
),
)