string.codeUnits — это массив кодовых единиц Unicode UTF-16. Так что я бы сказал, что это может быть похоже на
int maxLengthOfTextField(String text){
final int maxBits = 128;
List<int> unicodeSymbols = text.codeUnits.where((ch) => ch > maxBits ).toList();
return unicodeSymbols.length > 0 ? 160 : 70;
}
final textFieldController = TextEditingController();
TextField(
controller: textFieldController,
maxLength: maxLengthOfTextField(textFieldController.text)
);
Работает как шарм. Спасибо :)