ฉันชอบไอคอนวัสดุ ฉันทำจริงๆ แต่อย่างใดฉันก็รู้สึกเบื่อกับพวกเขา ดังนั้นฉันจึงมองไปรอบ ๆ และพบไอคอนที่ยอดเยี่ยมโดย ICONS8 และที่ดีที่สุดของทั้งหมด ... ฟรี! (ดูใบอนุญาตเด็กดี)
ใช่โลกที่ยอดเยี่ยมและอื่น ๆ แต่เขียนรหัสที่น่ารังเกียจทั้งหมดลงในค่าคงที่ของลูกดอก? ไม่มีทาง
และ Fluttericon เพิ่งออกมาจากสีน้ำเงิน! มันทำให้งานสกปรกทั้งหมดสำหรับฉัน
ฉันเริ่มใช้ห้องสมุดนี้ในโครงการของฉันและพวกเขาก็ดูดีจริงๆ ดังนั้นฉันจึงถามตัวเอง: ทำไมไม่เผยแพร่ให้คนอื่นสนุก? ท้ายที่สุดในกระบวนการทั้งหมดนี้ฉันได้รับความช่วยเหลือจากหลาย ๆ คนที่ตัดสินใจไม่เก็บไอคอนด้วยตนเองและช่วยเหลือผู้อื่นด้วยซอฟต์แวร์ชิ้นหนึ่งที่พวกเขาไม่จำเป็นต้องแบ่งปันกับฉันหรือใครก็ตาม
ขอบคุณ ICONS8 และ Fluttericon!
(และแน่นอนว่าทำไมไม่: ขอบคุณ Microsoft Excel! XD)
เราอยู่ที่นี่ เริ่มต้นที่เวอร์ชัน 2.0.0 Lineicons จะเป็นไปได้อย่างปลอดภัยตามที่ทีม Dart แนะนำ
ในกรณีที่คุณอาจสนใจ: ความปลอดภัยว่างเปล่า
2.12.0 )const icon = const LineIcon.tablet(); vs final icon = LineIcon.tablet() )values มีให้ในคลาส Lineicons เพื่อเข้าถึง IconData เป็นแผนที่ IE, Icon(LineIcons.values['code'])byName Getter ยังสามารถเข้าถึง IconData ที่เกี่ยวข้องกับชื่อไอคอนที่ส่งผ่านเป็นพารามิเตอร์ เช่น Icon(LineIcons.byName('desktop'))LineIcon (เอกพจน์) มีให้ตาม LineIcons (พหูพจน์) ดังนั้นคุณสามารถสำรองรหัสบางส่วนโดยใช้ LineIcon.tablet() แทน Icon(LineIcons.tablet)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 ขึ้นไปจะเป็นโมฆะปลอดภัย
ตัวอักษร (v1.3.0)
จากแบบอักษรถึงชั้นเรียน
จากชั้นเรียนไปยังแพ็คเกจ
ลองนึกภาพข้าม: สไตล์ Windows10 และแรงบันดาลใจที่ยอดเยี่ยม หยุดฝัน! คุณมีไอคอนที่สวยงามมากมายให้เลือกสำหรับแอพ Android ของคุณ (ยังไม่ได้ทดสอบใน iOS ขออภัย) ฉันอยากให้ชุดนี้อยู่เหนือวัสดุและฉันพบว่าไอคอนที่ฉันกำลังมองหาใน ICONS8 ง่ายกว่าหน้าไอคอนวัสดุ
การติดตั้ง
รวม line_icons ในไฟล์ pubspec.yaml ของคุณ:
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