我正在使用Flutter在手机上显示长文本,如下所示:

_1_&MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE27/xrMnX8uV6yF/LieGWSVEo0s+aVxCp8oYikEkEmha70jwA/CjMo+OKoy0f6OhBbqiuePVfNgTwoUmLELmVgw==

我将其作为文本字符串放置:

                   Flexible(
                      child: Text(
                        longString ?? '',
                        style: TextStyle(
                          color: Colors.black,
                          fontSize: 14,
                          fontWeight: FontWeight.w500,
                        ),
                      ),
                    ),

然而,手机的屏幕尺寸可能不够宽,无法在一行中显示所有文字,它显示为:

_1_&MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE27/
xrMnX8uV6yF/
LieGWSVEo0s+aVxCp8oYikEkEmha70jwA/
CjMo+OKoy0f6OhBbqiuePVfNgTwoUmLELmVgw==

但我预计结果应该是:

_1_&MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE27/
xrMnX8uV6yF/LieGWSVEo0s+aVxCp8oYikEkEmha70j
wA/CjMo+OKoy0f6OhBbqiuePVfNgTwoUmLELmVgw==

如果没有足够的空间,这些"/"字符会强制其余字符移至下一行.我不想要带有"/"的汽车新系列.需要添加什么才能获得预期结果?

推荐答案

嗯,这一直是一个悬而未决的问题.基本上允许以受控的方式进行文本包装. https://github.com/flutter/flutter/issues/61081

这是解决办法 替换所有"/",例如:

.replaceAll("/","/\ufeff")

Insert ZERO WIDTH NO-BREAK SPACE '\ufeff' between the characters you don't want to break. Same as the above but takes no space.

Text(                "_1_&MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE27/xrMnX8uV6yF/LieGWSVEo0s+aVxCp8oYikEkEmha70jwA/CjMo+OKoy0f6OhBbqiuePVfNgTwoUmLELmVgw==".replaceAll("/","/\ufeff"),
    
                textAlign: TextAlign.justify,
                style: TextStyle(
                  color: Colors.black,
                  fontSize: 14,
                  fontWeight: FontWeight.w500,
                ),
              ),

出于格式目的,还添加了TextAlign.justify.

Flutter相关问答推荐

如何在flutter中获得类似属性的float(CSS属性)

来自另一个屏幕的数据

如何在Flutter 中播放音频

如何在容器小部件中的图像旁边添加文本?

如何实现Flutter 梳理机图像的小量移动

通过Ffltter应用程序与Docker服务器进行交互以进行身份验证

无法在仿真器上运行Flutter 项目-文件名太长错误

为 flutter app/firebase 保存 chatgpt api-key 的正确方法是什么

无状态和有状态小部件,我可以同时使用吗?

在参数为空时保持命名参数的默认值

使用Flutter项目设置Firebase遇到困难?这些解决方案或许能帮到你!

使用 Play Integrity API 时,Firebase 电话身份验证问题缺少客户端标识符错误

如何格式化网址?

如何使用 Rrect 或类似工具在 flutter 中绘制梯形线?

Flutter HLS .m3u8 视频无法实时播放

为什么 orientation == Orientation.portrait 总是正确的,尽管我的设备已经处于横向

我想在数组中添加项目

使用 hydrad_bloc 的预览包

如何在Flutter 中将列表的模型类型转换为数组?

如何从 MemoryFileSystem 字节创建假 dart:io 文件?