日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flutter自定义iconfont字体图标

發布時間:2023/12/31 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flutter自定义iconfont字体图标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在實際開發過程中Flutter框架自帶的Material圖標并不能滿足我們項目的實際需求,因此一般情況下我們需要在項目中添加我們自己的字體圖標(iconfont),在國內我們一般使用iconfont-阿里巴巴矢量圖標庫管理我們的字體圖標,所以本文示例也是以此為例去給大家講一下如果在Flutter項目中添加自定義字體圖標。

添加自定義字體圖標其實并不是很復雜,希望我這篇文章可以幫助到大家。

一、獲取自定義圖標

第一步、我們需要注冊一個阿里巴巴矢量圖標庫網站賬號,登錄賬號之后,在項目管理——我的項目中新建項目。

第二步、上傳自己的圖標至項目中,或者將別人公開的圖標添加至自己的項目當中。

第三步、將圖標下載至本地,將解壓出的iconfont.ttf 文件添加至我們的flutter項目中。

二、將圖標集成在Flutter項目中

第一步、在flutter項目根目錄下新建assets文件夾,存放我們的字體圖標及圖片等靜態文件。

第五步、在根目錄的pubspec.yaml配置文件中添加我們的字體圖標文件。

flutter:uses-material-design: trueassets:# - images/a_dot_burr.jpeg# - images/a_dot_ham.jpeg- assets/images/home_logo.png# list giving the asset and other descriptors for the font. For# example:fonts:- family: iconfontfonts:- asset: assets/fonts/iconfont.ttf# - asset: fonts/Schyler-Italic.ttf# style: italic# - family: Trajan Pro# fonts:# - asset: fonts/TrajanPro.ttf# - asset: fonts/TrajanPro_Bold.ttf# weight: 700## For details regarding fonts from package dependencies,# see https://flutter.dev/custom-fonts/#from-packages

至此,我們已經成功的將我們自己的圖標字體文件集成在了我們的Flutter項目中。

我們可以使用如下代碼在項目中展示我們的自己的圖標。

const Icon(IconData(0xe794, // 字體圖標對應的16進制數字fontFamily: 'iconfont', // 字體名稱),size: 26, // 指定字體圖標的大小color: Color.fromRGBO(255, 146, 1, 1), // 指定字體圖標的顏色) )

如何獲取字體圖標對應的16進制的數據呢?

下載下來的字體圖標解壓之后有一個iconfont.json文件,打開文件每一個圖標都對應一個unicode編碼,我們拿到對應的unicode在前面加上0x即可獲得我們所需圖標對應的16進制的數據。

三、封裝管理自定義圖標

大家可以看到每次查看這個unicode碼是比較麻煩的,所以我們可以進一步封裝,將所有圖標封裝成一個類,在這個類里面存放我們所有的圖標,然后提供一個獲取圖標的工具函數,實現入下。

// 提供所有圖標的類 import 'package:flutter/material.dart'; class IconFonts {static const IconData messageLine = IconData(0xe6fe,fontFamily: 'iconfont',);static const IconData messageFill = IconData(0xe6fc,fontFamily: 'iconfont',);static const IconData driveLine = IconData(0xe7ce,fontFamily: 'iconfont',);// 其他所有圖標都尾貨在這里…… } // 獲取圖標的工具函數 Icon getIcons(IconData icon, {double size = 20, Color color = Colors.black}) {return Icon(icon,size: size,color: color,); }

至此,我們實現了對于自定義圖標的簡單封裝,接下來我們看看如何去使用。

// 通過入下這行代碼,我們獲取了我們自定義的分享的圖標,同時我們也修改了默認設置的顏色和圖標大小 getIcons(IconFonts.shareFill,size: 26.0, color: Colors.white),

其實,在這里這篇文章已經可以說是完結了,但是下面我拋出的問題也希望大家可以自己思考并實現一下。

四、新的封裝思路供大家探討

但是我感覺去手動維護存放我們所有圖標的那個類,比較瑪麻煩,目前我的想法是通過加載之前我們提到的iconfont.json這個文件里面的數據去自動生成這么一個類。

關于具體的實現,且見下回分享。還請大家來個一鍵三連(關注、點贊、收藏)和評論。

往期內容:

一、【Flutter開發環境搭建】Java SDK安裝

二、【Flutter開發環境搭建】Android SDK、Dart SDK及Flutter SDK安裝_

三、Flutter路由傳參

四、flutter全局狀態管理Provider

五、半天時間掌握Dart開發語言-基礎學習

六、半天時間掌握Dart開發語言-類的學習

總結

以上是生活随笔為你收集整理的Flutter自定义iconfont字体图标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人啪精品 | 狠狠的干狠狠的操 | 亚洲色图自拍 | 国产99999| √8天堂资源地址中文在线 欧美精品在线一区二区 | 6699嫩草久久久精品影院 | 九一精品国产 | 日韩欧美在线免费观看 | 体内精69xxxxxx | 日韩色网 | 色乱码一区二区三区在线男奴 | 久久免费视频一区 | 黄色网址在线免费观看 | 亚洲24p| 97色在线视频 | 香蕉福利| 成人一区二区三区仙踪林 | 国产精品伊人 | 日韩黄色在线视频 | 国产一二 | 人妻精油按摩bd高清中文字幕 | 国产男女猛烈无遮挡免费视频 | 亚洲精品乱码久久久久久蜜桃91 | youjizzxxx69| 亚洲天堂一区二区在线观看 | 午夜免费片 | 美女脱了内裤喂我喝尿视频 | 欧美一级大黄 | 欧美综合一区二区 | 蜜桃视频在线观看污 | 仙踪林久久久久久久999 | 岛国精品在线观看 | 毛片在线观看视频 | 午夜视频黄| 一对一色视频聊天a | www插插插| 99久久精品国产成人一区二区 | 在线高清观看免费 | 欧洲精品在线播放 | 97夜色 | 中国爆后菊女人的视频 | 欧美精品一级在线观看 | 日韩欧美一二区 | 成人黄色av网站 | 国产日韩欧美亚洲 | 亚欧洲精品视频 | 欧美a级成人淫片免费看 | 99国内精品| 国产精品porn| 麻豆伊甸园 | www.黄色大片| 国产一区网站 | 日本一区二区三区欧美 | 韩国美女啪啪 | 久久精品视 | 欧美精品在线免费观看 | 少妇一级淫片免费放播放 | 九九热精品在线观看 | 国产美女久久久久 | av网址免费 | 黄色网页大全 | 成人毛片网站 | 男女www| 亚洲爽爆| 五月丁香久久婷婷 | 精品美女一区 | 最好看的电影2019中文字幕 | 久草福利在线视频 | 精品无码久久久久久久久果冻 | 欧美影视一区二区三区 | 哈利波特3在线观看免费版英文版 | 澳门av网站| 精品久久精品 | 999精品视频在线观看 | 欧美一区久久 | 欧美一区二区公司 | av私库 | 久久第一页 | 色婷婷电影网 | 日韩美女一级片 | 欧美aa一级 | 男同志毛片特黄毛片 | 国产精品亚洲αv天堂无码 伊人性视频 | 欧美日韩一区二区三区在线观看 | 手机在线成人 | 亚洲第一精品网站 | 丰满人妻一区二区三区免费视频 | 欧美亚洲视频在线观看 | 黑人巨大精品 | 黄色日批 | 国产精品久久免费视频 | 日产亚洲一区二区三区 | 亚洲一区二区三区四区在线播放 | 中文字幕资源站 | 性色在线观看 | 97精品视频在线 | 国产精品免费大片 | 伊人网免费视频 | 亚洲精品影片 |