Как центрировать иконку купертино в флаттере? - PullRequest
5 голосов
/ 14 марта 2019

Прежде всего, я попытался с помощью Center (), При этом кажется, что значки купертино смещены от центра

             IconButton(
              icon: const Icon(
                CupertinoIcons.add_circled,
                color: Colors.black,
              ),
              padding: const EdgeInsets.all(0),
              onPressed: () {}
              ),

обертывание значка непосредственно в виджете Center () ничего не меняет, и вот так оно выглядит slightly off center

1 Ответ

0 голосов
/ 19 июня 2019

КупертиноИконы фактически сосредоточены во Флаттере.

Если вы посмотрите на карту значков источника для Купертино здесь , вы увидите, что значки выровнены по низу внутри квадрата, который загружает Флаттер (и даже слегка выровнены пооставил).Поэтому вы не можете настроить его выравнивание в своем коде, поскольку ресурс уже отцентрирован.

enter image description here

ОБНОВЛЕНИЕ

Я пошел дальше и обнаружил шрифт CupertinoIcons.ttf в исходном коде fltter sdk.Затем открыл его с помощью https://www.glyphrstudio.com.

enter image description here

Затем сделал то же самое с MaterialIcons-Regular.ttf

enter image description here

Вы можете ясно видеть, как значок выровнен относительно базовой линии в Купертино (как символы на любом шрифте), и идеально отцентрирован на материале (как должны быть иконки).

Более подробную информацию о метриках шрифта можно найти в этой статье Medium

. Вы можете найти CupertinoIcons.ttf здесь: https://github.com/flutter/cupertino_icons/tree/master/assets

...