У меня есть виджет ползунка, значение которого отображается в одной строке в строке. Я использую FontFeature.tabularFigures()
для отображения моего текста как моноширинного, но он не работает с пробелами.
Когда значение изменяется с двух символов на один и наоборот, например, от 10 до 9, макет прыгает, потому что 9 - это всего лишь один символ. Я попытался добавить пробел, чтобы учесть это, и сделать его «2» символами, но это не работает. Протестировано как на Android, так и на iOS.
Есть идеи, как мне это сделать?
Мой код:
parent.dart
Widget build(BuildContext context) =>
ListTile(
title: Text('Title'),
subtitle: Column(
children: List.generate(itemsArray.length, (index) =>
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(itemsArray[index].name),
Item(itemsArray[index]),
],
),
),
),
);
item.dart
double value = 10.0;
Row(
mainAxisAlignment: MainAxisAlignment.end,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Container(
width: 200.0,
height: 40.0,
child: Slider.adaptive(
value: value,
onChanged: (v) {
setState(() {
value = v.floorToDouble();
});
},
min: 0,
max: 99,
divisions: 99,
),
),
Text(
value.toString().length < 2
? '\u00A0$value' //\u00A0 is a no-break space
: value.toString(),
style: const TextStyle(
fontFeatures: [FontFeature.tabularFigures()],
),
),
],
)
Также FontFeature.tabularFigures()
, похоже, вообще не работает для меня в dartpad.dartlang.org
Изменить: добавлен родительский код виджета с проблема.