Flutter中指定字體(全局或者局部,自有字庫或第三方)

??近期在使用Flutter跨平臺技術(shù)開發(fā)公司新的App帅韧,現(xiàn)在Flutter也正在良性發(fā)展里初,網(wǎng)上也有很多技術(shù)型文章,在我的Flutter文集中忽舟,不會有很多階段性或者啥進(jìn)階性的分享双妨,只是時不時穿插一些自己工作中用到的,而網(wǎng)上又找不到叮阅,自己搗鼓出來的刁品,我覺得這樣會對需要的人更有幫助,不然網(wǎng)上的技術(shù)文章都會千篇一律帘饶。也是自己沒時間哑诊,寫寫短文吧~

《Flutter的撥云見日》系列文章如下:
1、Flutter中指定字體(全局或者局部及刻,自有字庫或第三方)

一镀裤、全局或者局部添加自有字庫

1、首先缴饭,下載字庫

??我們需要去字庫網(wǎng)下載字庫暑劝,如Flutter中文網(wǎng)提到的Google Fonts(需翻墻),還有一些第三方的字庫第三方字庫(商用謹(jǐn)慎)颗搂,這類字庫可能不免費有版權(quán)担猛,使用到個人項目上沒事,但是如果使用到商業(yè)項目上要特別小心,以防碰瓷傅联!

??下載的字體庫文件類似**.ttf先改,只有就可以將其放在flutter工程目錄下的asset(和lib同級,沒有此目錄自己新建)目錄下的fonts中(在asset中新建fonts目錄)蒸走,如圖1.1:


圖1.1
2仇奶、在pubspec.yaml文件中配置字庫屬性

??在pubspec.yaml文件中配置:

  fonts:
    - family: Poppins
      fonts:
        - asset: lib/fonts/Poppins-Regular.ttf
        - asset: lib/fonts/Poppins-SemiBold.ttf
          weight: 700
  uses-material-design: true

family 是字體的名稱, 你可以在TextStylefontFamily 屬性中使用.
asset 是相對于 pubspec.yaml 文件的路徑.這些文件包含字體中字形的輪廓。在構(gòu)建應(yīng)用程序時比驻,這些文件會包含在應(yīng)用程序的asset包中该溯。
可以給字體設(shè)置粗細(xì)、傾斜等樣式

  • weight屬性指定字體的粗細(xì)别惦,取值范圍是100到900之間的整百數(shù)(100的倍數(shù)). 這些值對應(yīng) FontWeight狈茉, 可以用于 TextStylefontWeight屬性
  • style 指定字體是傾斜還是正常,對應(yīng)的值為italicnormal. 這些值對應(yīng) FontStyle 可以用于TextStylefontStyle TextStyle 屬性
    uses-material-design: true是指如果需要使用md風(fēng)格的組件掸掸,一定要把uses-material-design設(shè)為true
3氯庆、使用自定義字體
3.1、局部使用自定義字體
TextStyle textStyle = TextStyle(fontFamily: 'Poppins',) ///在TextStyle中引用字體庫family
Text('', style: textStyle); ///在Text中引用
3.2猾漫、全局使用自定義字體
MaterialApp(
     title: 'Test APP',
     theme: ThemeData(
     fontFamily: 'Poppins',
   )
)
///在根文件中的MaterialApp或者CupertinoApp中的theme主題
///中ThemeData的fontFamily屬性中加入字體family
3.3点晴、多處使用自定義字體當(dāng)非全局使用
var textFontStyle  = TextStyle(
    fontFamily:"Poppins", // 指定該Text的字體。
)
 
///用到的地方用 .copyWith 這個方法, 如: 
Text(
    "996ICU",
    style: textFontStyle.copyWith(
        fontSize: 18.0,
        color: Colors.red,
        fontWeight: FontWeight.bold,
        ),
    )

二悯周、全局或者局部添加第三方字庫

1、在pubspec.yaml文件中引入第三方字庫
  sms_fonts: ^1.0.0 ///假設(shè)有這么個第三方字體庫

加入第三方字庫后flutter pub get一下

2陪竿、局部使用第三方字庫
TextStyle textStyle = TextStyle(
  fontFamily: 'Poppins',
  package: 'sms_fonts' ///第三方字庫的package包名
) ///在TextStyle中引用第三方字體庫family
Text('', style: textStyle); ///在Text中引用
3禽翼、全局使用第三方字庫

這里估計是全文精華部分,因為我查閱資料或者看博客族跛,前面講的都差不多闰挡,直到這里我查不到資料了,很多文章也沒說礁哄,都是講的全局使用自定義字庫长酗,因為像TextStyle使用第三個字庫有個package屬性⊥┤蓿可是
MaterialApp或者CupertinoApp卻沒有這個屬性夺脾。
后面我去查了TextStyle源碼,發(fā)現(xiàn)了新大陸~

fontFamily = package == null ? fontFamily : 'packages/$package/$fontFamily',
///查看TextStyle源碼發(fā)現(xiàn)了這個茉继,原來這個package也只是和fontFamily字符串組合咧叭,用于定位字體文件位置

這里我們就解決了如何全局使用第三方字體庫了,(一般用于公司多個app烁竭,使用同一套字體庫菲茬,自定義字體庫package并發(fā)布到私有倉庫情形)

MaterialApp(
     title: 'Test APP',
     theme: ThemeData(
     fontFamily: 'packages/sms-fonts/Poppins', ///只要將字體庫引用改成該格式就可以了
   )
)

三、結(jié)語

這是我的第一篇Flutter雜文,感謝大家耐心看到這婉弹,后期還會不定期更新Flutter各種雜七雜八的玩意兒~_

申明:禁用于商業(yè)用途睬魂,如若轉(zhuǎn)載,請附帶原文鏈接镀赌。http://www.reibang.com/p/94ac0469f796蟹蟹~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末汉买,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子佩脊,更是在濱河造成了極大的恐慌蛙粘,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件威彰,死亡現(xiàn)場離奇詭異出牧,居然都是意外死亡,警方通過查閱死者的電腦和手機歇盼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門舔痕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人豹缀,你說我怎么就攤上這事伯复。” “怎么了邢笙?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵啸如,是天一觀的道長。 經(jīng)常有香客問我氮惯,道長叮雳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任妇汗,我火速辦了婚禮帘不,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘杨箭。我一直安慰自己寞焙,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布互婿。 她就那樣靜靜地躺著捣郊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擒悬。 梳的紋絲不亂的頭發(fā)上模她,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機與錄音懂牧,去河邊找鬼侈净。 笑死尊勿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的畜侦。 我是一名探鬼主播元扔,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼旋膳!你這毒婦竟也來了澎语?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤验懊,失蹤者是張志新(化名)和其女友劉穎擅羞,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體义图,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡减俏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了碱工。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娃承。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怕篷,靈堂內(nèi)的尸體忽然破棺而出历筝,到底是詐尸還是另有隱情,我是刑警寧澤廊谓,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布梳猪,位于F島的核電站,受9級特大地震影響蹂析,放射性物質(zhì)發(fā)生泄漏舔示。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一电抚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧竖共,春花似錦蝙叛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至淌铐,卻和暖如春肺然,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腿准。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工际起, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拾碌,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓街望,卻偏偏與公主長得像校翔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子灾前,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353