从 flutter 中的长文本末尾删除矩形框

Remove rectangular box from end of the long text in flutter

提问人:Subhangi Pawar 提问时间:9/9/2021 最后编辑:Subhangi Pawar 更新时间:12/15/2022 访问量:234

问:

从长文本末尾删除矩形框

enter image description here

下面是长文本的代码

return Container(
      margin: EdgeInsets.only(left: 10, right: 5),
      child: Column(
        children: [
          Row(
            children: [
              Expanded(
                child: Text(
                  subjectName,
                  overflow: TextOverflow.ellipsis,
                  style: GoogleFonts.sourceSansPro(
                      fontSize: 14,
                      fontWeight: FontWeight.w600,
                      color: AppColors.color072346),
                ),
              )
            ],
          ),
          SizedBox(
            height: 3,
          ),
        ],
      ),
    );
  }

使用 UI 将enter image description here希望显示 3 个点的日志文本。如何实现这一点。如何从 Flutter Web 中长文本的末尾删除到框。 提前致谢!!overflow: TextOverflow.clip,

flutter flutter-web

评论


答:

0赞 Saurabh Dhingra 9/9/2021 #1

https://api.flutter.dev/flutter/painting/TextOverflow-class.html阅读 TextOverflow 枚举的文档。 我想您需要将 TextOverflow.ellipsis 更改为 TextOverflow.clip 。

评论

0赞 Subhangi Pawar 9/9/2021
我想为长文本显示 3 个点。我怎样才能做到这一点?
0赞 Subhangi Pawar 9/9/2021
.clip 不起作用。用图像更新了问题。
0赞 JerryZhou 9/9/2021 #2

您需要计算宽度,并指定要启用的宽度TextOverflow.ellipsis

Container(
  width: 120, // <--- you need to specify width 
  Text(
    subjectName,
    overflow: TextOverflow.ellipsis,
    style: GoogleFonts.sourceSansPro(
      fontSize: 14,
      fontWeight: FontWeight.w600,
      color: AppColors.color072346),
    ),
  ),
),

0赞 MCB 12/15/2022 #3

而不是canvas使用html渲染器,为我解决了这个问题。 用

flutter run -d chrome --web-renderer html

用于建筑。

但是html渲染器可能会导致性能问题...

除了此选项,您还可以更改字体。GoogleFonts 应该可以正常工作。