本篇为本人平时总结的经验,如有更好的写法请留言。
TextField(
autofocus: true,
controller: TextEditingController.fromValue(TextEditingValue(
text: value,
selection: TextSelection.fromPosition(TextPosition(
affinity: TextAffinity.downstream, offset: value.length)))),
decoration: InputDecoration(
contentPadding: EdgeInsets.fromLTRB(isHaveUnit ? 20 : 8, 0, 8, 0),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Color(0xffB6B6B6), width: 0.5)),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Color(0xffFD3F2A), width: 1)),
),
textAlign: TextAlign.right,
inputFormatters: [
WhitelistingTextInputFormatter(RegExp("[0-9.-]")),
],
keyboardType: TextInputType.number,
onChanged: onChanged,
);
直接设置border的颜色不起作用,包括这只theme的border的颜色也是,需要设置enabledBorder,focusedBorder的border颜色并且制定border宽度才会修改成功。