欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flutter 設(shè)置全局字體的實現(xiàn)

 更新時間:2022年02月16日 15:24:29   作者:BennuCTech  
本文主要介紹了Flutter 設(shè)置全局字體的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

引入字體

首先在項目中創(chuàng)建fonts目錄,然后將將ttf文件放到該目錄下,然后在pubspec文件中添加該字體文件,如:

...
flutter:
? fonts:
? ? - family: PingFang
? ? ? fonts:
? ? ? ? - asset: fonts/PingFang-Regular.ttf

? assets:
? ? - assets/exit_icon.png

這里family是我們自定義的,對應(yīng)該字體,這里每個字體可以對應(yīng)多個ttf文件,比如區(qū)分加粗:

flutter:
? fonts:
? ? - family: Raleway
? ? ? fonts:
? ? ? ? - asset: assets/fonts/Raleway-Regular.ttf
? ? ? ? - asset: assets/fonts/Raleway-Medium.ttf
? ? ? ? ? weight: 500
? ? ? ? - asset: assets/fonts/Raleway-SemiBold.ttf
? ? ? ? ? weight: 600
? ? - family: AbrilFatface
? ? ? fonts:
? ? ? ? - asset: assets/fonts/abrilfatface/AbrilFatface-Regular.ttf
  • family 是字體的名稱, 你可以在TextStyle的 fontFamily 屬性中使用.
  • asset 是相對于 pubspec.yaml 文件的路徑.這些文件包含字體中字形的輪廓。在構(gòu)建應(yīng)用程序時,這些文件會包含在應(yīng)用程序的asset包中。

可以給字體設(shè)置粗細(xì)、傾斜等樣式

  • weight屬性指定字體的粗細(xì),取值范圍是100到900之間的整百數(shù)(100的倍數(shù)). 這些值對應(yīng) FontWeight, 可以用于 TextStyle的fontWeight屬性
  • style 指定字體是傾斜還是正常,對應(yīng)的值為italic和 normal. 這些值對應(yīng) FontStyle 可以用于TextStyle的 fontStyle TextStyle 屬性

引入字體后可以在Text的sytle中使用即可

Text(
? ? "test",
? ? style: TextStyle(fontFamily: "Rock Salt",),
)

全局字體

想設(shè)置全局字體,則需要在App中設(shè)置,如下:

MaterialApp(
? title: title,
? theme: ThemeData(
? ? primarySwatch: Colors.blue,
? ? visualDensity: VisualDensity.comfortable,
? ? fontFamily: "PingFang",
? ? textTheme: TextTheme(
? ? ? ...
? ? )
? ),
? ...
);

這樣全局字體都變成了我們設(shè)定的字體。

問題

但是這里有兩個小問題(flutter web,其他平臺未測):

library中設(shè)置失效

我們將基礎(chǔ)功能封裝到一個library(gitsubmodule形式,所以沒有發(fā)布)中,其實承載MaterialApp的BaseApp也在library中,所以最開始將字體文件放在了library中,然后在BaseApp的MaterialApp中設(shè)置了fontFamily。
但是運行發(fā)現(xiàn)字體根本沒變化,通過flutter build web編譯后發(fā)現(xiàn)在build目錄下生成的文件中沒有這個字體文件。
目前未找到原因,不過有解決方法,簡單的解決方法就是在主工程中也放一份該字體文件,同時在主工程的pubspec中也添加該字體(名稱與library中保持一致)。這樣運行就會發(fā)現(xiàn)字體都變過來了,build編譯后也生成了該字體文件。

TextSpan中字體未生效

TextSpan可以用來處理圖文混合的需求。比如前面一個圖片標(biāo)簽,后面是文字,但是文字第二行還要從圖片最左端開始,即環(huán)繞圖片,這種時候就需要TextSpan+WidgetSpan配合只用即可。
但是在flutter web中(其他平臺未測),通過上面設(shè)置全局字體后,發(fā)現(xiàn)TextSpan中的字體并未生效,還是系統(tǒng)字體。
說明TextSpan稍微特殊一些,我們知道Text的源碼中style實際上做了一步merge操作,merge了默認(rèn)的style(defaultTextStyle)。但是在TextSpan的源碼中,發(fā)現(xiàn)并沒有這一步操作,所以設(shè)置的全局字體對它不起作用。
所以使用TextSpan的地方如果需要則必須單獨設(shè)置字體。

到此這篇關(guān)于Flutter 設(shè)置全局字體的實現(xiàn)的文章就介紹到這了,更多相關(guān)Flutter 全局字體內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • android實現(xiàn)widget時鐘示例分享

    android實現(xiàn)widget時鐘示例分享

    這篇文章主要介紹了android實現(xiàn)widget時鐘示例,需要的朋友可以參考下
    2014-03-03
  • 基于Android實現(xiàn)自動滾動布局

    基于Android實現(xiàn)自動滾動布局

    在平時的開發(fā)中,有時會碰到這樣的場景,設(shè)計上布局的內(nèi)容會比較緊湊,導(dǎo)致部分機型上某些布局中的內(nèi)容顯示不完全,或者在數(shù)據(jù)內(nèi)容多的情況下,單行無法顯示所有內(nèi)容,這里給大家簡單介紹下布局自動滾動的一種實現(xiàn)方式,感興趣的朋友可以參考下
    2023-12-12
  • Android編程之OpenGL繪圖技巧總結(jié)

    Android編程之OpenGL繪圖技巧總結(jié)

    這篇文章主要介紹了Android編程之OpenGL繪圖技巧,結(jié)合實例形式總結(jié)分析了Android基于OpenGL繪圖的原理與具體步驟,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • android 默認(rèn)時間格式修改方法

    android 默認(rèn)時間格式修改方法

    在android使用中,遇到修改默認(rèn)時間格式時,總是束手無策,本文將以此問題提供解決方案,需要了解的朋友可以參考下
    2012-11-11
  • android利用消息機制獲取網(wǎng)絡(luò)圖片

    android利用消息機制獲取網(wǎng)絡(luò)圖片

    這篇文章主要為大家詳細(xì)介紹了android利用消息機制獲取網(wǎng)絡(luò)圖片的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android實現(xiàn)九宮格橫向左右滑動

    Android實現(xiàn)九宮格橫向左右滑動

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)九宮格橫向左右滑動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Android下修改SeekBar樣式的解決辦法

    Android下修改SeekBar樣式的解決辦法

    本篇文章是對在Android下修改SeekBar樣式的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Android ScrollView取消慣性滾動的方法

    Android ScrollView取消慣性滾動的方法

    下面小編就為大家?guī)硪黄狝ndroid ScrollView取消慣性滾動的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Android性能優(yōu)化之JVMTI與內(nèi)存分配

    Android性能優(yōu)化之JVMTI與內(nèi)存分配

    這篇文章主要為大家介紹了Android性能優(yōu)化之JVMTI與內(nèi)存分配,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Android 退出應(yīng)用程序的實現(xiàn)方法

    Android 退出應(yīng)用程序的實現(xiàn)方法

    這篇文章主要介紹了Android 退出應(yīng)用程序的實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評論