日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲视频二| 91免费国产| 青娱乐av在线 | 亚洲精品欧洲 | 四虎福利| 久久视频精品在线 | 欧美国产日韩精品 | av综合色| 另类小说久久 | 国产一区二区三区四区视频 | 日韩一级黄色 | 欧美黄色性视频 | 日韩免费观看一区二区 | 久久久91精品国产一区二区三区 | 九七电影院97理论片 | 亚洲免费在线观看视频 | 国产我不卡| www.av色| 成人在线影片 | 国产免费观看久久黄av片 | 色老头在线观看 | 成人aⅴ视频| 狠狠艹狠狠干 | 超碰激情在线 | 久久精品无码中文字幕 | 欧美一区二区黄色 | 中文字幕5566 | 国产夜夜操| 欧美人与性动交a欧美精品 日韩免费高清视频 | 国产91色| 午夜影院在线观看免费 | 国产一区二区三区色淫影院 | 国产中文字幕在线 | 永久免费看成人av的动态图 | 欧美成人二区 | 日韩视频国产 | 黑人玩弄人妻一区二区绿帽子 | 精品熟妇视频一区二区三区 | 中国精品一区二区 | 国产精品18| 欧美美女性生活 | 亚洲视频在线观看免费视频 | 国产r级在线观看 | 美女扒开屁股让男人桶 | 无码一区二区三区免费视频 | 久久99久久精品 | 亚洲私人影院 | 蜜桃视频成人 | 久久久ww| 亚洲精品五月 | 超级碰在线观看 | 麻豆蜜桃视频 | 亚瑟av| 亚洲免费看黄 | 九九在线视频 | 国产精品久久久久久久久久久不卡 | 香蕉性视频 | 草久久 | 精品人妻一区二区三区四区 | 成人av观看 | 三级男人添奶爽爽爽视频 | 国产成人99久久亚洲综合精品 | 国产综合一区二区 | 国产剧情在线 | 国产精品厕所 | 香蕉视频官方网站 | 亚洲第三色 | 亚洲一卡二卡三卡 | 免费的黄色的视频 | 国产精品久久在线 | 一个色在线 | 免费观看污网站 | 在线不卡免费av | 能看的av网站 | 亚洲综合影院 | 热久久免费 | 欧美一区二区三区久久综合 | 亚洲精品一区二区三区新线路 | 日韩色| 亚洲视频黄色 | 波多野结衣在线观看视频 | www成人啪啪18软件 | www.69av.com | 依人综合网 | julia一区二区中文久久97 | 国产高清在线免费 | 国产欧美日韩中文字幕 | 国产三级精品三级 | 亚洲国产片 | 中文字幕在线播放不卡 | 国产盗摄视频在线观看 | av猫咪 | 双性尿奴穿贞c带憋尿 | 国产中文字幕在线播放 | 免费一级片网站 | 经典三级在线视频 | 曰本女人与公拘交酡 | 精品国产户外野外 | 性巴克成人免费网站 |