我正在将材料设计图标用于浮动操作按钮。 现在,我想使用自定义图标。从SVG文件中,我使用Flutter-Icon-Generator(http://fluttericon.com/)生成了一种字体。一切正常,但图标未居中。
在此最小化的屏幕截图中,€图标居中,另一个(自定义图标)不在:
FloatingActionButton的相应代码为:
Widget money() {
return Container(
child: FloatingActionButton(
backgroundColor: widget.openColor,
elevation: 0,
heroTag: "btn_money",
onPressed: () {
widget.onPressed(DashboardFabAction.AddMoney);
animate();
},
tooltip: 'Money',
child: Icon(Icons.euro_symbol, color: widget.iconColorOpen,),
),
);
}
Widget eggs() {
return Container(
child: FloatingActionButton(
backgroundColor: widget.openColor,
elevation: 0,
heroTag: "btn_eggs",
onPressed: () {
widget.onPressed(DashboardFabAction.AddEggs);
animate();
},
tooltip: 'Eggs',
child: Icon(CustomIcons.egg, color: widget.iconColorOpen,),
),
);
}
CustomIcons的代码为:
import 'package:flutter/widgets.dart';
class CustomIcons {
CustomIcons._();
static const _kFontFam = 'CustomIcons';
static const IconData egg = const IconData(0xe800, fontFamily: _kFontFam);
}
这里的pubspec.yaml并不有趣,因为我在那里找到了正确的图标。
提前感谢您的回答!
答案 0 :(得分:0)
我找到了答案。问题在于svg路径的高度大于宽度。我尝试了一些用inkscape进行的“ hacks”操作,向svg添加了另一个宽度等于高度的不可见路径,但是没有成功。
最后,我使用FontForge(开放源代码)打开了字体(.ttf),将图标居中,再次保存了字体,然后就可以使用了。
以下是步骤,它可以节省某人的时间:
flutter clean