如何在 Flutter 中添加图标的增加/配置权重/粗体(FontWeight)

imL*_*man 7 icons flutter

我的 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)),
    ),
)
Run Code Online (Sandbox Code Playgroud)

找不到任何关于它的主题/文档。

Ale*_*kas 19

问题很旧,但我希望它能帮助别人。

前:

Icon(
  CupertinoIcons.exclamationmark_circle,
  color: Colors.red,
  size: 16.0,
)
Run Code Online (Sandbox Code Playgroud)

之后(与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,
  ),
)
Run Code Online (Sandbox Code Playgroud)

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

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


Mik*_*chy 7

图标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)),
 ),
)
Run Code Online (Sandbox Code Playgroud)

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

flutter:
 fonts:
 - family: MyIcon
  fonts:
    - asset: lib/fonts/iconfont.ttf
      weight: 400
Run Code Online (Sandbox Code Playgroud)

有关完整步骤,请参阅这篇好文章:https://developpaper.com/flutter-taste-1-3-step-use-custom-icon/

  • 但尺寸和重量是两个不同的东西。不是吗? (11认同)