尝试在构建函数中将字符串的首字母大写。

10 浏览
0 Comments

尝试在构建函数中将字符串的首字母大写。

我已经创建了一个floatactionbutton函数,根据登录类型(如“google”,“facebook”等)构建一个新的浮动操作按钮。\n我想在我的构建函数中将第一个字母大写,如下所示,但是出现了错误,我该如何解决?\nFloatingActionButton BuildLoginButton(String signInType) {\n return FloatingActionButton.extended(\n onPressed: () {},\n icon: Image.asset(\'assets/images/$signInType+_logo.png\', height: 32, width: 32),\n signInType[0].toUpperCase(), // 此行出现错误\n label: Text(\'使用Google登录\'),\n backgroundColor: WHITE_COLOR,\n foregroundColor: DARK_COLOR,\n );\n}\n

0
0 Comments

问题的出现原因:需要将一个字符串的首字母大写,但在构建函数内部尝试使用toUpperCase()方法只返回了字符串的第一个字符。

解决方法:可以通过将首字母大写的字符与剩余的字符串拼接起来,来实现首字母大写的效果。具体操作是,将字符串的第一个字符转换为大写,然后使用substring()方法获取剩余的部分,再将两部分拼接起来。

在构建函数内部,可以将这个操作放在onPressed之前或者return之前。

以下是一个示例代码:

FloatingActionButton BuildLoginButton(String signInType) {

String local = signInType[0].toUpperCase() + signInType.substring(1);

return FloatingActionButton.extended(

onPressed: () {

// 在这里修改onPressed

},

icon: Image.asset('assets/images/$signInType+_logo.png',

height: 32, width: 32),

label: Text(local ),

);

}

感谢Sheikh的回答,但是我实际上需要在按钮构建时执行这个操作,而不是在onPressed中。

尝试将这个操作放在return FloatingActionButton.extended(之前,试试当前的代码。

这样做不起作用,因为我需要在首字母大写之前执行这一行代码:icon: Image.asset('assets/images/$signInType+_logo.png', height: 32, width: 32)。

我明白了,你需要创建一个局部变量来保存首字母大写的字符串。

0