首页 > 解决方案 > 如何意识到这一点?

问题描述

我在那里看到 ListView,它有一个TrackWidget.

TrackWidget 包含一个 Row,它有 Text(number)、Text(title)、Text(subtitle)、Text(time) 和 Button。

在此处输入图像描述

但是,也可能存在大于 Row 大小的标题。在这种情况下, Text(title) 应该占据所有位置。

在此处输入图像描述

请帮帮我。

标签: flutterdarttextrichtext

解决方案


使用RichText小部件可能是要走的路,使用它优先呈现的文本将是第一个,所以在你的情况下歌曲标题。

另外不要忘记设置TextOverflow.ellipsiswhen...文本太长。

例子

ListTile(
  leading: Text(songTrackNumber, style: TextStyle(color: Colors.grey)),
  title: RichText(
    overflow: TextOverflow.ellipsis,
    text: TextSpan(
      style: TextStyle(color: Colors.black),
      children: [
        TextSpan(text: songTitle),
        TextSpan(text: songAlbum, style: TextStyle(color: Colors.grey)),
      ],
    ),
  ),
  trailing: Text(songLength, style: TextStyle(color: Colors.grey)),
);

在 DartPad 上尝试完整示例


推荐阅读