最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Flutter如何用思源宋體炫出你的UI

 更新時(shí)間:2023年04月25日 10:56:11   作者:甜瓜看代碼  
這篇文章主要為大家介紹了Flutter如何用思源宋體炫出你的UI示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

如何實(shí)現(xiàn)使用思源宋體字體樣式。

  首先,讓我們來(lái)了解一下什么是資源素材管理。簡(jiǎn)單來(lái)說(shuō),它就是為了方便我們管理各種資源文件,比如圖片、字體、音頻等。在Flutter中,我們可以使用pubspec.yaml文件來(lái)管理我們的資源。

  好了,言歸正傳,現(xiàn)在我們來(lái)看看如何實(shí)現(xiàn)思源宋體字體樣式。思源宋體是一款開(kāi)源字體,它是對(duì)傳統(tǒng)宋體字體的一次優(yōu)化和完善,所以在我們的應(yīng)用中使用它可以讓我們的字體更加美觀。

引入字體文件

第一步,我們需要在pubspec.yaml文件中引入思源宋體字體。我們可以通過(guò)以下代碼來(lái)實(shí)現(xiàn):

fonts: 
    - family: SourceHanSerif 
        fonts: 
          - asset: fonts/SourceHanSerifCN-Regular.otf 

  這里,我們定義了一個(gè)名為SourceHanSerif的字體組,然后引入了字體文件SourceHanSerifCN-Regular.otf。請(qǐng)注意,這里的文件路徑是相對(duì)于pubspec.yaml文件的路徑。

指定字體樣式

第二步,我們需要在應(yīng)用中使用這個(gè)字體。我們可以在TextStyle中指定字體組的名字,就像這樣:

TextStyle(
  fontFamily: 'SourceHanSerif',
  fontWeight: FontWeight.normal,
  fontSize: 20,)

這里,我們指定了字體族的名字為SourceHanSerif,然后指定了字體的粗細(xì)、大小等屬性。

好了,現(xiàn)在我們來(lái)看看完整的代碼:

fonts: 
    - family: SourceHanSerif 
        fonts: 
          - asset: fonts/SourceHanSerifCN-Regular.otf 
Text('Hello, Flutter!', style: TextStyle(
  fontFamily: 'SourceHanSerif',
  fontWeight: FontWeight.normal,
  fontSize: 20,),)

咦?這個(gè)字體好像沒(méi)有變化?。縿e急,我們還需要一步。

加載字體文件

第三步,我們需要在應(yīng)用啟動(dòng)時(shí),先加載我們的字體。我們可以通過(guò)以下代碼來(lái)實(shí)現(xiàn):

void main() async {
  // 加載字體
  await loadFonts();
  runApp(MyApp());
}
Future<void> loadFonts() async {
  await Future.wait([
    // 加載思源宋體字體
    rootBundle.load('fonts/SourceHanSerifCN-Regular.otf').then(
      (data) {
        final font = FontLoader('SourceHanSerif');
        font.addFont(Future.value(data));
        return font.load();
      },
    ),
  ]);
}

  這里,我們使用了rootBundle來(lái)加載我們的字體文件。然后,我們使用FontLoader來(lái)加載字體,并將其添加到字體緩存中。請(qǐng)注意,我們需要將FontLoader返回的Future作為Future.wait的一個(gè)參數(shù),以便讓?xiě)?yīng)用等待字體加載完畢后再啟動(dòng)。

好了,現(xiàn)在我們?cè)俅芜\(yùn)行應(yīng)用,看看思源宋體是否生效了。

void main() async {
  // 加載字體
  await loadFonts();
  runApp(MyApp());
}
Future<void> loadFonts() async {
  await Future.wait([
    // 加載思源宋體字體
    rootBundle.load('fonts/SourceHanSerifCN-Regular.otf').then(
      (data) {
        final font = FontLoader('SourceHanSerif');
        font.addFont(Future.value(data));
        return font.load();
      },
    ),
  ]);
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('思源宋體'),
        ),
        body: Center(
          child: Text(
            'Hello, Flutter!',
            style: TextStyle(
              fontFamily: 'SourceHanSerif',
              fontWeight: FontWeight.normal,
              fontSize: 20,
            ),
          ),
        ),
      ),
    );
  }
}

  字體變了!現(xiàn)在我們的應(yīng)用中使用的是思源宋體字體了。接下來(lái),你可以在應(yīng)用中隨意使用這個(gè)字體了。

  總結(jié)一下,實(shí)現(xiàn)思源宋體字體樣式需要三個(gè)步驟:引入字體文件指定字體樣式、加載字體文件。這里需要特別注意字體文件路徑的設(shè)置和FontLoader的使用。

  好了,我想這篇文章應(yīng)該已經(jīng)讓你輕松掌握了如何在Flutter應(yīng)用中使用思源宋體字體了吧,更多關(guān)于Flutter思源宋體UI的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • javascript實(shí)現(xiàn)倒計(jì)時(shí)并彈窗提示特效

    javascript實(shí)現(xiàn)倒計(jì)時(shí)并彈窗提示特效

    倒計(jì)時(shí)的功能在我們做項(xiàng)目的時(shí)候會(huì)經(jīng)常遇到,這里給大家分享的是個(gè)人編寫(xiě)的一個(gè)簡(jiǎn)易的效果代碼,有需要的小伙伴可以參考下
    2015-06-06
  • 如何獲取網(wǎng)站icon有哪些可行的方法

    如何獲取網(wǎng)站icon有哪些可行的方法

    獲取網(wǎng)站icon,常用最簡(jiǎn)單的方法就是通過(guò)website/favicon.ico來(lái)獲取,還可以通過(guò)google提供的服務(wù)來(lái)實(shí)現(xiàn),下面有個(gè)示例
    2014-06-06
  • layui實(shí)現(xiàn)數(shù)據(jù)分頁(yè)功能(ajax異步)

    layui實(shí)現(xiàn)數(shù)據(jù)分頁(yè)功能(ajax異步)

    這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)數(shù)據(jù)分頁(yè)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 詳解javascript實(shí)現(xiàn)自定義事件

    詳解javascript實(shí)現(xiàn)自定義事件

    這篇文章主要為大家介紹了javascript實(shí)現(xiàn)自定義事件的方法,自定義事件,顧名思義,就是自己定義事件類(lèi)型,自己定義事件處理函數(shù),javascript如何實(shí)現(xiàn)自定義事件,需要了解的朋友可以參考下
    2016-01-01
  • CryptoJS中AES實(shí)現(xiàn)前后端通用加解密技術(shù)

    CryptoJS中AES實(shí)現(xiàn)前后端通用加解密技術(shù)

    這篇文章主要為大家詳細(xì)介紹了CryptoJS中AES實(shí)現(xiàn)前后端通用加解密技術(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • js檢查頁(yè)面上有無(wú)重復(fù)id的實(shí)現(xiàn)代碼

    js檢查頁(yè)面上有無(wú)重復(fù)id的實(shí)現(xiàn)代碼

    有時(shí)候我們需要檢查一個(gè)頁(yè)面上是否用重復(fù)的id,一般id都是唯一的,也方便控制,那么就可以參考下面的代碼
    2013-07-07
  • Javascript運(yùn)行機(jī)制之Event Loop

    Javascript運(yùn)行機(jī)制之Event Loop

    這篇文章主要介紹了Javascript運(yùn)行機(jī)制之Event Loop,在學(xué)習(xí)Event Loop前,首先需要了解的幾個(gè)概念Javascript是單線程、任務(wù)隊(duì)列、同步任務(wù)、異步任務(wù)、Javascript執(zhí)行棧,下面來(lái)看看文章的詳細(xì)介紹吧
    2021-12-12
  • JS實(shí)現(xiàn)橫向輪播圖(初級(jí)版)

    JS實(shí)現(xiàn)橫向輪播圖(初級(jí)版)

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)橫向輪播圖的初級(jí)版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 使用JavaScript實(shí)現(xiàn)alert的實(shí)例代碼

    使用JavaScript實(shí)現(xiàn)alert的實(shí)例代碼

    本文通過(guò)實(shí)例代碼給大家介紹了js實(shí)現(xiàn)alert的方法,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-07-07
  • JS常用排序方法實(shí)例代碼解析

    JS常用排序方法實(shí)例代碼解析

    這篇文章主要介紹了js常用排序方法實(shí)例代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論

巫溪县| 无极县| 新巴尔虎右旗| 将乐县| 工布江达县| 平湖市| 安顺市| 延边| 内乡县| 新兴县| 顺平县| 永修县| 盐边县| 治县。| 遂平县| 冷水江市| 丁青县| 泊头市| 靖州| 思南县| 浮梁县| 英山县| 淮北市| 井陉县| 五峰| 苍溪县| 陆丰市| 右玉县| 息烽县| 新昌县| 大名县| 稻城县| 新建县| 昌都县| 梅州市| 永济市| 义马市| 科尔| 罗江县| 黔南| 霞浦县|