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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Flutter】Flutter 自定义字体 ( 下载 TTF 字体 | pubspec.yaml 配置字体资源 | 同步资源 | 全局应用字体 | 局部应用字体 )

發(fā)布時間:2025/6/17 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flutter】Flutter 自定义字体 ( 下载 TTF 字体 | pubspec.yaml 配置字体资源 | 同步资源 | 全局应用字体 | 局部应用字体 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、Flutter 自定義字體
    • 1、ttf 字體文件
    • 2、ttf 字體資源配置
    • 3、獲取字體
    • 4、全局使用字體
    • 5、局部使用字體
  • 二、完整代碼示例
  • 三、相關(guān)資源





一、Flutter 自定義字體





1、ttf 字體文件


字體資源文件 : ttf 格式的字體資源 ;

Flutter 應(yīng)用字體資源文件 : 在 Flutter 應(yīng)用根目錄下創(chuàng)建 fonts 目錄 , 將下載的 ttf 字體放資源文件在該 fonts 目錄下 ;



2、ttf 字體資源配置


配置字體資源 : 自定義字體資源需要在 pubspec.yaml 配置文件中配置 , 字體資源配置格式如下 :

fonts:- family: Schylerfonts:- asset: fonts/Schyler-Regular.ttf- asset: fonts/Schyler-Italic.ttfstyle: italic- family: Trajan Profonts:- asset: fonts/TrajanPro.ttf- asset: fonts/TrajanPro_Bold.ttfweight: 700

這里使用 RubikMonoOne-Regular.ttf 字體文件 , 配置如下 :

flutter:# 配置圖片資源assets:- images/hunter.png# 配置字體資源fonts:- family: RubikMonoOnefonts:- asset: fonts/RubikMonoOne-Regular.ttf

該配置對應(yīng)的字體文件 RubikMonoOne-Regular.ttf 放在根目錄下的 fonts 目錄下 ;



3、獲取字體


在 pubspec.yaml 配置文件中配置完字體資源后 , 點擊 " Pub get " 按鈕 , 同步資源 ;

顯示如下內(nèi)容后 , 說明資源同步成功 ;

D:\001_Programs\004_Flutter\flutter\bin\flutter.bat --no-color pub get Running "flutter pub get" in flutter_cmd... 0.7s Process finished with exit code 0

4、全局使用字體


全局應(yīng)用字體 : 在 MaterialApp 根節(jié)點的 theme 字段值的 ThemeData 組件中的 fontFamily 字段設(shè)置字體 , 這里設(shè)置在 pubspec.yaml 配置文件中配置的 family 標(biāo)簽下的值 “RubikMonoOne” ;

字體配置 :

fonts:- family: RubikMonoOnefonts:- asset: fonts/RubikMonoOne-Regular.ttf

代碼示例 :

MaterialApp(// 設(shè)置標(biāo)題title: ,// 設(shè)置主題theme: ThemeData(// 配置字體fontFamily: "RubikMonoOne"),// 設(shè)置界面主組件home: , )

5、局部使用字體


局部應(yīng)用字體 : 在 Text 的 style 字段設(shè)置文本風(fēng)格 , TextStyle 類型組件的 fontFamily 可以設(shè)置字體 ;

代碼示例 :

Text("StatefulWidget 頁面生命周期", style: TextStyle(fontFamily: "RubikMonoOne"), ),



二、完整代碼示例



完整代碼示例 :

import 'package:flutter/material.dart'; import 'package:flutter_cmd/GesturePage.dart'; import 'package:flutter_cmd/ResourcePage.dart'; import 'package:flutter_cmd/StatelessWidgetPage.dart'; import 'package:flutter_cmd/WidgetLifeCyclePage.dart'; import 'AppLiftCyclePage.dart'; import 'LauncherPage.dart'; import 'LayoutPage.dart'; import 'StatefulWidgetPage.dart'; import 'ThemePage.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(// 設(shè)置標(biāo)題title: 'Flutter Demo',// 設(shè)置主題theme: ThemeData(// 配置字體fontFamily: "RubikMonoOne",// 配置主題顏色primarySwatch: Colors.blue,),// 設(shè)置界面主組件home: Scaffold(// 設(shè)置標(biāo)題欄appBar: AppBar(title: Text("路由與導(dǎo)航"),),// 設(shè)置界面主體組件body: RouteNavigator(),),// 配置路由routes: <String, WidgetBuilder>{"StatelessWidgetPage" : (BuildContext context) => StatelessWidgetPage(),"StatefulWidgetPage" : (BuildContext context) => StatefulWidgetPage(),"LayoutPage" : (BuildContext context) => LayoutPage()},);} }class RouteNavigator extends StatefulWidget {@override_RouteNavigatorState createState() => _RouteNavigatorState(); }class _RouteNavigatorState extends State<RouteNavigator> {@overrideWidget build(BuildContext context) {return Container(// 居中alignment: Alignment.center,child: Column(children: <Widget>[RaisedButton(onPressed: (){Navigator.pushNamed(context, "LayoutPage");},child: Text("通過路由名跳轉(zhuǎn)到頁面1"),),RaisedButton(onPressed: (){Navigator.pushNamed(context, "StatefulWidgetPage");},child: Text("通過路由名跳轉(zhuǎn)到頁面2"),),RaisedButton(onPressed: (){Navigator.pushNamed(context, "StatelessWidgetPage");},child: Text("通過路由名跳轉(zhuǎn)到頁面3"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => LayoutPage()));},child: Text("通過導(dǎo)航跳轉(zhuǎn)到頁面1"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => StatefulWidgetPage()));},child: Text("通過導(dǎo)航跳轉(zhuǎn)到頁面2"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => StatelessWidgetPage()));},child: Text("通過導(dǎo)航跳轉(zhuǎn)到頁面3"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => GesturePage()));},child: Text("手勢檢測界面"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => ResourcePage()));},child: Text("資源使用界面"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => LauncherPage()));},child: Text("第三方應(yīng)用跳轉(zhuǎn)"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => WidgetLiftCyclePage()));},child: Text("StatefulWidget 頁面生命周期", style: TextStyle(fontFamily: "RubikMonoOne"),),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => AppLifeCyclePage()));},child: Text("應(yīng)用生命周期"),),RaisedButton(onPressed: (){Navigator.push(context, MaterialPageRoute(builder: (context) => ThemePage()));},child: Text("主題切換"),),],),);} }

運行效果展示 :





三、相關(guān)資源



參考資料 :

  • Flutter 官網(wǎng) : https://flutter.dev/
  • Flutter 插件下載地址 : https://pub.dev/packages
  • Flutter 開發(fā)文檔 : https://flutter.cn/docs ( 強烈推薦 )
  • 官方 GitHub 地址 : https://github.com/flutter
  • Flutter 中文社區(qū) : https://flutter.cn/
  • Flutter 實用教程 : https://flutter.cn/docs/cookbook
  • Flutter CodeLab : https://codelabs.flutter-io.cn/
  • Dart 中文文檔 : https://dart.cn/
  • Dart 開發(fā)者官網(wǎng) : https://api.dart.dev/
  • Flutter 中文網(wǎng) ( 非官方 , 翻譯的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/
  • Flutter 相關(guān)問題 : https://flutterchina.club/faq/ ( 入門階段推薦看一遍 )

博客源碼下載 :

  • GitHub 地址 : https://github.com/han1202012/flutter_cmd ( 隨博客進度一直更新 , 有可能沒有本博客的源碼 )

  • 博客源碼快照 : https://download.csdn.net/download/han1202012/15602328 ( 本篇博客的源碼快照 , 可以找到本博客的源碼 )

總結(jié)

以上是生活随笔為你收集整理的【Flutter】Flutter 自定义字体 ( 下载 TTF 字体 | pubspec.yaml 配置字体资源 | 同步资源 | 全局应用字体 | 局部应用字体 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线看亚洲 | 一本色道久久综合狠狠躁的推荐 | 国产九九热视频 | 午夜影片 | 男人资源网站 | 一级做a爱片 | 中文字幕av片 | 中国女人内谢69xxxx免费视频 | 日韩在线毛片 | 污视频免费在线观看网站 | 欧美激情片一区二区 | av鲁丝一区鲁丝二区鲁丝 | 国产精品三级 | 天天玩夜夜操 | 日本一区二区三区网站 | 成人国产精品一区 | 人妖videosex高潮另类 | jizz日韩 | 亚洲欧美在线视频观看 | 国产福利资源 | 91精品国产电影 | 有声小说 成人专区 | 国产成人无码精品久久久性色 | 久久久国产精品人人片 | 亚洲国产一区视频 | 国产探花一区二区三区 | 99视频免费在线观看 | 亚洲AV乱码国产精品观看麻豆 | 亚洲一级二级 | 日本视频黄 | 成人黄色激情 | 狠狠干2022 | 午夜操操 | 91官网在线 | 娇妻被肉到高潮流白浆 | 中文字幕一区二区三区久久久 | 黄色在线视频观看 | 修女也疯狂3免费观看完整版 | 国产免费av电影 | 91亚洲国产成人精品一区二区三 | 非洲一级黄色片 | 妞妞影视 | 国内av在线播放 | 国产chinese中国hdxxxx | 日韩成人午夜电影 | 男女男精品网站 | 亚洲爽爽爽 | 激情五月色婷婷 | 日韩播放 | 国产一级一级片 | 大尺度一区二区 | 日韩福利片 | 无码人妻aⅴ一区二区三区69岛 | 亚洲电影一区二区三区 | 成人福利在线视频 | 欧美色老头 | 视频在线观看免费大片 | 青青草原伊人 | 久久96 | 国产探花一区二区三区 | 大乳女喂男人吃奶 | 日韩人妻无码精品久久久不卡 | 日本香蕉网| 歪歪视频在线观看 | 一道本在线播放 | 国产二区电影 | 深夜视频在线看 | 国产系列在线观看 | 中国妇女做爰视频 | 日韩欧美91| 色综合免费视频 | 依人成人综合网 | 亚洲精品视频专区 | 欧美色图12p | 国产一区二区啪啪啪 | 欧美综合视频在线观看 | 深夜在线免费视频 | 成人爽a毛片一区二区免费 日本高清免费看 | 亚洲午夜色 | 亚洲一区你懂的 | h部分肌肉警猛淫文 | 污污视频在线观看免费 | 色噜噜狠狠狠综合曰曰曰88av | 中文字幕23 | 国产美女精品久久久 | 久久久久91| 久草免费在线视频观看 | 不卡视频在线观看 | 免费av免费看| 色吧综合网| 综合五月网 | 日韩在线观看中文字幕 | 草草影院最新 | 五月婷婷综合网 | 国产精品91一区二区 | 亲嘴扒胸摸屁股激烈网站 | 亚洲综合影视 | 成人影片在线播放 | 国产成人在线免费 |