Как центрировать иконку купертино в флаттере?
Прежде всего, я попытался использовать Center(), с этим, кажется, значки Купертино смещены от центра
IconButton(
icon: const Icon(
CupertinoIcons.add_circled,
color: Colors.black,
),
padding: const EdgeInsets.all(0),
onPressed: () {}
),
перенос значка прямо в виджет Center () ничего не меняет, и вот так он выглядит
0 ответов
На самом деле CupertinoIcons сосредоточены во Flutter.
Если вы посмотрите на значках карты источник Купертино здесь вы увидите, что значки выравниваются по нижней части внутри квадрат, который флаттер нагрузка (и даже немного выровнена влево). Следовательно, вы не можете настроить его выравнивание в своем коде, поскольку ресурс уже центрирован.
ОБНОВИТЬ
Я пошел еще дальше и нашел шрифт CupertinoIcons.ttf в исходном коде flutter sdk. Затем открыл его с https://www.glyphrstudio.com/.
Затем проделал то же самое с MaterialIcons-Regular.ttf
Вы можете четко видеть, как значок выравнивается по базовой линии в Купертино (как символы в любом шрифте) и идеально центрирован по материалу (как и должны быть значки).
Подробнее о метриках шрифтов читайте в этой статье на Medium.
Вы можете найти CupertinoIcons.ttf здесь: https://github.com/flutter/cupertino_icons/tree/master/assets