【问题标题】:How to add increase /configure weight/boldness (FontWeight) of an Icon in Flutter如何在 Flutter 中添加图标的增加/配置权重/粗体(FontWeight)
【发布时间】:2019-12-06 04:25:24
【问题描述】:

我的 Flutter 应用中有一个图标(具体来说是返回图标)。它看起来更轻。出于某种原因,我想使其大胆/增加重量。

Container(
    child: Icon(
        Icons.arrow_back,
        color: Color(0xffffffff),
    ),
    padding: EdgeInsets.all(10.0),
    margin: EdgeInsets.fromLTRB(0, 10.0, 0, 0.0),
    decoration: BoxDecoration(
        color: Color(0xff03b673),
        borderRadius: BorderRadius.all(Radius.circular(100.0)),
    ),
)

找不到任何关于它的线程/文档。

【问题讨论】:

  • 你能接受我的回答吗?
  • @AlexanderFarkas 抱歉,我无法验证您的答案,因为我现在没有这个开发环境。

标签: flutter icons


【解决方案1】:

您可以通过指定图标大小来做到这一点。

Container(
    child: Icon(
        Icons.arrow_back,
        size: 20.0,
        color: Color(0xffffffff),
    ),
    padding: EdgeInsets.all(10.0),
    margin: EdgeInsets.fromLTRB(0, 10.0, 0, 0.0),
    decoration: BoxDecoration(
        color: Color(0xff03b673),
        borderRadius: BorderRadius.all(Radius.circular(100.0)),
    ),
)

【讨论】:

  • 但是尺寸和重量是两个不同的东西。不是吗?
【解决方案2】:

问题很老,但我希望它对某人有所帮助。

之前:

Icon(
  CupertinoIcons.exclamationmark_circle,
  color: Colors.red,
  size: 16.0,
)

之后(FontWeight):

Text(
  String.fromCharCode(CupertinoIcons.exclamationmark_circle.codePoint),
  style: TextStyle(
    inherit: false,
    color: Colors.red,
    fontSize: 16.0,
    fontWeight: FontWeight.w700,
    fontFamily: CupertinoIcons.exclamationmark_circle.fontFamily,
    package: CupertinoIcons.exclamationmark_circle.fontPackage,
  ),
)

当然,您的图标应该支持不同的权重。我的示例中的图标仅支持 2 个权重:

  1. thin <= FontWeight.w500
  2. thick >= FontWeight.w600

【讨论】:

    【解决方案3】:

    图标size

    Container(
    child: Icon(
        Icons.arrow_back,
        color: Color(0xffffffff),
        size: 24.0
     ),
     padding: EdgeInsets.all(10.0),
     margin: EdgeInsets.fromLTRB(0, 10.0, 0, 0.0),
     decoration: BoxDecoration(
        color: Color(0xff03b673),
        borderRadius: BorderRadius.all(Radius.circular(100.0)),
     ),
    )
    

    目前,我认为图标上没有fontWeight 属性。您可以从 fluttericon.com 导入自定义图标,当您在字体下导入它时,您可以在 pubspec.yaml 中设置字体粗细:

    flutter:
     fonts:
     - family: MyIcon
      fonts:
        - asset: lib/fonts/iconfont.ttf
          weight: 400
    

    有关完整步骤,请关注这篇精彩的文章:https://developpaper.com/flutter-taste-1-3-step-use-custom-icon/

    【讨论】:

    • 但是尺寸和重量是两个不同的东西。不是吗?
    • 没错,两个不同的东西,目前我想没有内置属性,你可以从官方fluttericon.com设置你自己的自定义图标并将字体粗细设置为整个家庭,请参阅上面的更新答案
    • 是的,导入新字体做到了。我现在正在使用 FontAwesome :)
    猜你喜欢
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2020-01-16
    • 2020-01-13
    • 1970-01-01
    • 2021-08-08
    • 2023-03-27
    相关资源
    最近更新 更多