Проблема рендеринга при центрировании Font Awesome icon - PullRequest
0 голосов
/ 28 февраля 2019

Я не понимаю, почему этот FAB не центрирует своего ребенка.Я пробовал разные вещи, но не могу сделать это идеально.Потому что добавление, например, отступа к значку только снизу может сделать его центром устройства, но, возможно, не для всех.это мой код

Theme(
  data: Theme.of(context).copyWith(
      highlightColor: Colors.red, splashColor: Colors.red),
  child: SizedBox(
    height: MediaQuery.of(context).size.height / 7,
    width: MediaQuery.of(context).size.height / 7,
    child: FloatingActionButton(
        elevation: 100,
        shape: new CircleBorder(
            side: new BorderSide(
                color: Colors.black, width: 5.0)),
        backgroundColor: Colors.orangeAccent,
        onPressed: () {},
        child: new Icon(
          FontAwesomeIcons.chevronUp,
          size: 80,
        )),
  ),
),

, и это не центрированный FAB с его дочерним значком.

enter image description here

мне только кажется, что значок не центрирован?

1 Ответ

0 голосов
/ 28 февраля 2019

Тот же код с Icons.person

Icons.person

тот же код с виджетом Текст

Text Widget

Тот же код с chevronCircleUp

chevronCircleUp

Кстати, я использовал Show Debug Paint.И я использовал chevronCircleUp, просто чтобы четко видеть область виджета.Я думаю, что вы правы, это недостаточно центрировано, однако, эти примеры заставили меня думать, что проблема связана с иконками FontAwesome.

Есть также эти проблемы

Рендеринг иконки шрифтаПоле недостаточно велико для некоторых символов

Прямоугольные значки центрированы неправильно

Итак, я применил обходной путь к первой проблеме, вот код.Это должно быть достаточно хорошо сейчас.

Theme.of(context)
              .copyWith(highlightColor: Colors.red, splashColor: Colors.red),
          child: SizedBox(
              height: MediaQuery.of(context).size.height / 7,
              width: MediaQuery.of(context).size.height / 7,
              child: FloatingActionButton(
                elevation: 100,
                shape: new CircleBorder(
                    side: new BorderSide(color: Colors.black, width: 5.0)),
                backgroundColor: Colors.orangeAccent,
                onPressed: () {},
                child: Text(
                    String.fromCharCode(
                        FontAwesomeIcons.chevronUp.codePoint),
                    style: TextStyle(
                        fontSize: 72.0,
                        fontFamily: FontAwesomeIcons.chevronUp.fontFamily,
                        package: FontAwesomeIcons.chevronUp.fontPackage)),
              )),
        ),

chevronUp

...