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