我喜欢物质图标。我真的但是,不知何故,我突然对它们感到厌倦。因此,我环顾四周,找到了Icons8的精彩图标。最重要的是...免费! (请参阅好男孩许可证)。
是的,多么美好的世界等等,但是,将所有这些讨厌的代码写入飞镖常数?决不!
而Fluttericon刚从蓝色出来!这为我做了所有肮脏的工作。
我开始在项目中使用此图书馆,它们看起来真的很好。所以我问自己:为什么不出版供别人享受呢?毕竟,在这过程中,我确实得到了许多人的帮助,他们决定不保留图标,并帮助他人使用一块软件,他们不需要与我或其他任何人分享。
因此,谢谢Icons8和Fluttericon!
(当然,为什么不:谢谢Microsoft Excel!XD)
我们在这里。按DART团队建议,从2.0.0版本开始,Linecons将是无效的安全。
以防万一您可能感兴趣:无效安全。
2.12.0 )const icon = const LineIcon.tablet(); vs final icon = LineIcon.tablet() )values属性在Linecons类中提供,以访问IconData作为地图。即, Icon(LineIcons.values['code']) 。byName Getter访问与以参数为参数的图标名称相关的IconData 。即, Icon(LineIcons.byName('desktop')) 。LineIcon (单数)类是LineIcons (复数)提供的,因此您可以使用LineIcon.tablet()而不是Icon(LineIcons.tablet)来备用一些代码。LineIcon构造函数参数与Icon相同,因此您可以以相同的方式自定义LineIcon实例。即, Icon(LineIcons.px500, color: Colors.red)等效于LineIcon.px500(color: Colors.red) (或Icon(LineIcons.values['px500'], color: Colors.red) )。在少数情况下,名称与Icons8中的名称完全不匹配;即500px变成了px500 。无论如何,应该很容易识别图标。
请注意:2.0.0及以上版本将是无效的安全
字体(v1.3.0)
从字体到班级
从班级到包裹
想象一下交叉:Windows10风格和令人敬畏的灵感。好吧,别做梦了!您可以为您的Android应用程序选择许多漂亮的图标(尚未在iOS中测试,对不起)。我宁愿在材料上套装,并且发现在Icons8中找到的图标比在材料图标页面中更容易。
安装
在您的pubspec.yaml文件中包含line_icons :
dependencies :
flutter :
sdk : flutter
line_icons : ^2.0.2如果您的IDE不自动执行此操作,请键入:
flutter packages get
使用
将包装在您的flutter文件中导入,并使用Icon获取实际图标窗口小部件:
import 'package:line_icons/line_icons.dart' ;
...
Icon _icon = Icon ( LineIcons .code);
...或选择合适的构造函数:
import 'package:line_icons/line_icon.dart' ;
...
const Icon _icon = const LineIcon . code ();
...或以丑陋的方式; P:
import 'package:line_icons/line_icons.dart' ;
...
Icon _icon = Icon ( LineIcons .values[ 'code' ]);
...甚至是一种奇特的讨厌方式:
import 'package:line_icons/line_icons.dart' ;
...
Icon _icon = Icon ( LineIcons . byName ( 'code' ));
...样本
import 'package:flutter/material.dart' ;
import 'package:line_icons/line_icon.dart' ;
import 'package:line_icons/line_icons.dart' ;
void main () => runApp ( MyApp ());
class MyApp extends StatelessWidget {
@override
Widget build ( BuildContext context) {
return MaterialApp (
theme : ThemeData (
primarySwatch : Colors .blue,
useMaterial3 : true ,
),
home : MyHomePage (title : 'Line Icons Demo Home Page' ),
);
}
}
class MyHomePage extends StatelessWidget {
MyHomePage ({
required this .title,
});
final String title;
@override
Widget build ( BuildContext context) {
return Scaffold (
appBar : AppBar (
title : Text (title),
),
body : Center (
child : Column (
mainAxisSize : MainAxisSize .min,
children : [
Text (
'Awesome Line Icons are great!' ,
style : Theme . of (context).textTheme.headlineMedium,
),
Text (
'Version 2.0.2 constructors are const now!' ,
style : Theme . of (context).textTheme.headlineSmall,
),
SizedBox (
height : 48.0 ,
),
// Using LineIcon (no 's') for concision. It returns an Icon object
const LineIcon . tablet (
size : 48.0 ,
color : Colors .red,
),
Text (
'const LineIcon.tablet(size: 48.0, color: Colors.red,)' ,
),
SizedBox (
height : 24.0 ,
),
// Using LineIcons the standard way: injecting the IconData into the Icon object
const Icon (
LineIcons .desktop,
size : 48.0 ,
color : Colors .blue,
),
Text (
'const Icon(LineIcons.desktop, size: 48.0, color: Colors.blue,)' ,
),
SizedBox (
height : 24.0 ,
),
// Using LineIcons the nasty way: passing the IconData via the values map
Icon (
LineIcons .values[ 'mobilePhone' ],
size : 48.0 ,
color : Colors .amber,
),
Text (
'Icon(LineIcons.values[ ' mobilePhone ' ], size: 48.0, color: Colors.amber,)' ,
),
],
),
),
);
}
}如果您对代码感兴趣(无论如何都可以随意修改它),可以在这里找到:https://github.com/galonsos/line_icons