Flutter 的 Text() 小部件中的 TextAllCaps?

Gau*_*oda 20 dart flutter flutter-layout

由于我们android:textAllCaps="true"在 Android 的 Textview中有功能,我们如何在Flutter 的Text() Widget 中提供相同的功能?

我知道Text('Abc'.toUpperCase()),这是一种方式,但我不想手动完成。是否有 Text() 小部件的任何属性可以自动转换它或任何具有类似属性的小部件?

Guv*_*nch 21

(已编辑)我的解决方案是这样的:

Text("apple".toUpperCase())
Run Code Online (Sandbox Code Playgroud)
Returns:

APPLE
Run Code Online (Sandbox Code Playgroud)


Dha*_*ata 2

使用以下函数将第一个单词用作大写字母

String getCapitalizeString({String str}) {
    if (str.length <= 1) { return str.toUpperCase(); }
    return '${str[0].toUpperCase()}${str.substring(1)}';
}
Run Code Online (Sandbox Code Playgroud)

使用 :

Text(this.getCapitalizeString(str: listObj[position]);
Run Code Online (Sandbox Code Playgroud)

  • 似乎 OP 在他最初的问题中提供了迄今为止最好的方法:只需使用 `Text('Abc'.toUpperCase())` (8认同)