【问题标题】:Rendering issue while centering Font Awesome icon居中 Font Awesome 图标时出现渲染问题
【发布时间】:2019-07-22 18:49:57
【问题描述】:

我不明白为什么这个 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。

只有我觉得图标没有居中吗?

【问题讨论】:

    标签: dart flutter widget icons


    【解决方案1】:

    与 Icons.person 相同的代码

    与文本小部件相同的代码

    与 chevronCircleUp 相同的代码

    顺便说一句,我用过Show Debug Paint。而且我使用了 chevronCircleUp,只是为了清楚地看到小部件的区域。我认为你是对的,它不够居中,但是,这个例子让我认为问题与 FontAwesome 图标有关。

    也有这个问题

    Font Icon Render Box not large enough for some characters

    Rectangular icons are centered incorrectly

    所以我已经在第一个问题上应用了解决方法,这里是代码。现在应该已经够好了。

    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)),
                  )),
            ),
    

    【讨论】:

    • 那么这很有趣。我认为我们应该使这与某人相关。至少我没有疯。不知道那个 Show Debug Paint 的用途。谢谢。
    • 如果我刚刚提供的代码对您有效,请标记为已解决@FlorisMarpepa
    • 不是真的,因为如果我在这种情况下将字体大小设置得更大,它就不会再次居中。但是主题必须有一个数据,我把你的代码放在里面。就这样放在那里是行不通的。
    猜你喜欢
    • 1970-01-01
    • 2014-03-26
    • 2012-07-12
    • 1970-01-01
    • 2022-11-23
    • 2016-05-19
    • 2023-03-19
    • 1970-01-01
    • 2019-11-06
    相关资源
    最近更新 更多