
小菜在学习过程中通常会需要大量的小图标,而多数的Icon都是经过设计同学优化过的,而如何采用类似系统Icons方式,此时可以通过自传类似字体库的ttf图标库的方式来完成;ACE_ICON小菜推荐两个网......
小菜在学习过程中通常会需要大量的小图标,而多数的Icon都是经过设计同学优化过的,而如何采用类似系统Icons方式,此时可以通过自传类似字体库的ttf图标库的方式来完成;
ACE_ICON小菜推荐两个网站可以用来生成图标库;
1.生成ACE_图标库小菜以为例来生成图标库;在这个图标库中有很多成套的图标,在这里可以选中需要的图标,也可以将本地生成的.svg文件拖拽进库中;
其中设置完图标库名称后,通过工具选择下载不同的文件,包括ttf图标库、config配置文件以及mapping映射文件;
2.集成ttf图标库将ACE_库文件添加到project资源文件中;
在文件中声明ACE_文件库;声明方式与字体库等一致,注意family与font名称一致;在此可以声明引入多个资源库文件;之后pubget即可;
fonts:-family:DancingScriptfonts:-asset:assets/:ACE_ICONfonts:-asset:images/ACE_
将mapping文件添加到project中,用于映射ACE_ICON图标库中各Icons文件;
classACE_ICON{ACE_ICON._();staticconst_kFontFam='ACE_ICON';staticconstString_kFontPkg=null;staticconstIconDataemo_happy=IconData(0xe800,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_wink=IconData(0xe801,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_unhappy=IconData(0xe802,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_sleep=IconData(0xe803,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_thumbsup=IconData(0xe804,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_devil=IconData(0xe805,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_surprised=IconData(0xe806,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_tongue=IconData(0xe807,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_coffee=IconData(0xe808,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_sunglasses=IconData(0xe809,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_displeased=IconData(0xe80a,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_beer=IconData(0xe80b,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_grin=IconData(0xe80c,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_angry=IconData(0xe80d,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_saint=IconData(0xe80e,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_cry=IconData(0xe80f,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_shoot=IconData(0xe810,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_squint=IconData(0xe811,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_laugh=IconData(0xe812,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDataemo_wink2=IconData(0xe813,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDatabook_story=IconData(0xe814,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDatabook_type=IconData(0xe815,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDatabook_user=IconData(0xe816,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDatacrown=IconData(0xe844,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDatacrown_plus=IconData(0xe845,fontFamily:_kFontFam,fontPackage:_kFontPkg);staticconstIconDatacrown_minus=IconData(0xe846,fontFamily:_kFontFam,fontPackage:_kFontPkg);}3.图标库IconData集成之后,使用方式与默认的Icon一致,直接获取IconData即可,对于Icon的颜色尺寸等其他绘制也不会有影响;
ListaceIconData=[ACE__story,ACE__type,ACE__user,ACE_,ACE__minus,ACE__plus,ACE__angry,ACE__beer,ACE__coffee,ACE__cry,ACE__devil,ACE__displeased,ACE__grin,ACE__happy,ACE__laugh,ACE__saint,ACE__shoot,ACE__sleep,ACE__squint,ACE__sunglasses,ACE__surprised,ACE__thumbsup,ACE__tongue,ACE__unhappy,ACE__wink,ACE__wink2];returnSliverPadding(padding:(8.0),sliver:SliverGrid(gridDelegate:SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount:6,mainAxisSpacing:8.0,crossAxisSpacing:8.0,childAspectRatio:1.0),delegate:SliverChildBuilderDelegate((context,index)=Container(decoration:BoxDecoration(color:(0.2),borderRadius:(3.0)),child:Center(child:Icon(dataList[index],color:(0.6)))),childCount:)));4.异常注意
小菜在测试过程中,会显示如下图所示,Icon资源展示不出来,其原因是小菜在文件声明时换行空格导致的,注意在引入所有资源库文件时,都应严格遵守声明格式;
Flutter版本分支切换Flutter一直在稳定快速地更新迭代,而为了项目的稳定性,以及一些三方插件的应用,我们可能不会直接升级到最新版本,此时就需要切换分支,回退固定版本;小菜简单整理一下常用的几个命令行;
1.flutterchannelflutterchannel用于查看渠道,官方分为stable、beta、dev、master四种,小菜推荐是用stable稳定版;此时,小菜建议在操作命令行指令时先进入flutter目录中;
2.flutterchannelX在获取官方的各个分支之后,通过flutterchannelstable用于切换到stable或其他分支;
3.gittaggittag用于查看Flutter各版本号;
4.gitcheckout(version)用于切换固定Flutter版本分支;
5.gitreset--hard(version)用于指向对应版本分支;
6.flutterversion(version)用于升级或回退到指定Flutter版本分支;
7.flutter--versionflutter--version用于查看当前使用的版本,可以通过--version进行版本更新或回退后验证;
ACE_案例源码
小菜此次仅是对于日常资源库和命令行的简单应用,熟能生巧,仅限于日常积累;如有错误,请多多指导!