私は素材のアイコンが大好きです。私は本当にします。しかし、どういうわけか、私は突然彼らに疲れました。そこで、私は周りを見回して、Icons8で素晴らしいアイコンのセットを見つけました。そして何よりも...無料で! (Good Boyライセンスを参照)。
ええ、なんて素晴らしい世界などですが、これらすべての厄介なコードをDART定数に書き留めますか?とんでもない!
そして、フラッターリコンはちょうど青から出てきました!それは私のためにすべての汚い仕事をしました。
私はプロジェクトでこのライブラリを使い始めましたが、彼らは本当にいいようでした。だから私は自分自身に尋ねました:なぜ他の人が楽しむためにそれを公開しないのですか?結局のところ、このすべてのプロセスにおいて、私は実際に自分のためにアイコンを保持しないことを決め、他の人が私や他の人と共有する必要のないソフトウェアを他の人に助けることにした多くの人々に助けられました。
Icons8とFluttericonに感謝します!
(そして、確かに、なぜそうではないのか:Microsoft Excel!XDに感謝します)
ここにいます。バージョン2.0.0から、LineiconsはDARTチームが示唆するように、Null-Safeになります。
あなたが興味を持っているかもしれない場合に備えて:null-Safety。
2.12.0 )const icon = const LineIcon.tablet(); final icon = LineIcon.tablet() );valuesプロパティは、 IconDataにマップとしてアクセスするために、Lineiconsクラスで提供されます。 IE、 Icon(LineIcons.values['code']) 。byName Getterは、パラメーターとして渡されたアイコン名に関連するIconDataにアクセスするためにも利用できます。 IE、 Icon(LineIcons.byName('desktop')) 。LineIcon (Singular)クラスはLineIcons (複数)に沿って提供されるため、 Icon(LineIcons.tablet)の代わりにLineIcon.tablet()を使用してコードをspareしみます。LineIcon ConstructorパラメーターはIconのパラメーターと同じであるため、 LineIconインスタンスを同じようにカスタマイズすることができます。 IE、 Icon(LineIcons.px500, color: Colors.red)はLineIcon.px500(color: Colors.red) (またはIcon(LineIcons.values['px500'], color: Colors.red) )に相当します。いくつかの場合、名前はiCons8の名前と正確に一致しません。つまり、 500px代わりにpx500になりました。とにかく、アイコンは簡単に認識する必要があります。
注意してください:バージョン2.0.0以上はnull-safeになります
フォント(v1.3.0)
フォントからクラスまで
クラスからパッケージまで
クロスオーバーを想像してください:Windows10スタイルと素晴らしいインスピレーション。さて、夢をやめなさい! Androidアプリ用に選択できる美しいアイコンがたくさんありました(まだiOSでテストされていませんが、ごめんなさい)。私はむしろ、このセットを素材にしたいと思っています。私は、私が探しているアイコンをicons8で探しているアイコンのページよりもはるかに簡単に見つけることができます。
インストール
pubspec.yamlファイルにline_iconsを含める:
dependencies :
flutter :
sdk : flutter
line_icons : ^2.0.2IDEが自動的にそれを行わない場合は、次を入力します。
flutter packages get
使用
フラッターファイルにパッケージをインポートし、 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