更改 TextFormField 中的文本片段并使其成为静态(不可更改)Flutter

Change text fragment in TextFormField and make it static (not changeable) Flutter

我添加了 TextFormField 中显示的文本。我需要更改不是所有内容的文本大小,而只是 KWh,使其更小 + 可以将 KWh 值设为静态以便它们无法更改吗?

代码

TextFormField(
            keyboardType: TextInputType.number,
            controller: _priceController
              ..text = '€' + widget.price.toStringAsFixed(2) + ' KWh',
            style: widget.textStyle,
            textAlign: TextAlign.center,
            decoration: const InputDecoration(
              contentPadding: EdgeInsets.zero,
              border: InputBorder.none,
            ),
          ),

这就是 InputDecoration 中提供 SuffixPrefix 的原因。

要将它们用于您想要的输出,请执行以下操作:

TextFormField(
  keyboardType: TextInputType.number,
  controller: _priceController
      ..text = widget.price.toStringAsFixed(2),
  style: widget.textStyle,
  textAlign: TextAlign.center,
  decoration: const InputDecoration(
  prefix: Text('€',
      style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)),
  suffix: Text('KWh',
      style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)),
  contentPadding: EdgeInsets.zero,
  border: InputBorder.none,
  ),
),

您可以使用 SuffixPrefix 的小部件更改 colorfontSizefontWeight 或任何此类文本样式 属性 . PrefixSuffix 保持静态,用户无法 changed/Edited。

输出:

请记住,后缀位于 TextFormField 的末尾,因此,您必须根据它调整其 width

否则,全宽看起来像这样 TextFormField: