002簡單MaterialApp主題和Scaffold腳手架

002最簡單的MaterialApp主題和Scaffold腳手架使用導航欄_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1RZ421p7BL?spm_id_from=333.788.videopod.episodes&vd_source=68aea1c1d33b45ca3285a52d4ef7365f&p=1501.MaterialApp純凈的

?/*MaterialApp 是主題,自帶方向設置,所以他里面的包含的widget都不需要設置方向home 參數里面放一個 widget,用來顯示,第一個例子放了一個文本框Text,并且沒有寫方向參數*/?import 'package:flutter/material.dart';//為了使用MaterialAppmain(){runApp(MaterialApp(home:Text("abc",style: TextStyle(fontSize: 200),?) ,//home這里可以放一個Widget,直接渲染到屏幕上,可以理解為畫一個控件到屏幕上?));}

runApp 會把你傳入的Widget小組件顯示在屏幕上

1.flutter中所有的頁面顯示元素都是Widget的子類

abstract class Widget Widget翻譯過來是叫小部件,是一個抽象類.所有顯示的文本框,圖標,圖片,主題,導航欄,等等能顯示的這些控件都繼承自Widget

為了后面學習空間少寫方向,需要先學習MaterialApp主題,這樣可以不用給Widget寫方向,否則都要設置方向 MaterialApp 是主題,自帶方向設置,所以他里面的包含的widget都不需要設置方向

在pubspec.yaml文件的flutter部分中有一個uses-material-design: true,為了使用預定義的Material圖標集,需要修改yaml文件,同時要注意其中的縮進問題

?//pubspec.yaml文件name: my_appflutter:uses-material-design: true

2.帶widget嵌套的

第二個例子,為了演示 Widget的嵌套,這里演示 Center居中組件 里面 child參數 嵌套 文本框Text

//注意寫函數返回類型,否則就變成dynamic 會報錯

復習之前語法里面學習的const 嵌套問題,最外層用了const,那么里面就不用加,如果里面有單獨的不是const的,那么最外層不能是const

?import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';//第二個例子,為了演示 Widget的嵌套,這里演示 Center居中組件 里面 child參數 嵌套 文本框Text?main(){runApp(MaterialApp(home:fun1()//runApp() 啟動了一個 MaterialApp,并將runApp將fun1() 的返回值作為 home 參數傳遞給它));}Widget fun1(){ ?//返回類型是 Widgetreturn Center(child: Text("1233213ab",style: TextStyle(fontSize: 100),),);}//這段代碼運行時,Text 的樣式沒有被 const 修飾符修飾,意味著每次構建 Text 時,都會創建一個新的 TextStyle 實例。?-------------------------------------------------------?// 復習之前語法里面學習的const 嵌套問題,最外層用了const,// 那么里面就不用加,如果里面有單獨的不是const的,那么最外層不能是constmain(){String str = "1233213ab";runApp(MaterialApp(home:Center(child: Text(str,style: const TextStyle(fontSize: 100),),)));}//由于 TextStyle 使用了 const 修飾符,Flutter 在構建時不會每次創建新的 TextStyle 實例,優化了性能。?
  • Center 小部件:

    • Center 是 Flutter 中用于將子元素居中的小部件。它會將傳遞給它的 child 小部件在父容器中居中顯示。

    • fun1() 函數中,Center 小部件作為父容器,而 Text 小部件作為 Centerchild,表示將文本 "1233213ab" 居中顯示。

  • Text 小部件

    • Text 用于顯示文本。在這里,Text 顯示的是字符串 "1233213ab"

    • style: TextStyle(fontSize: 100) 設置了 Text 的樣式,其中 TextStyle 用來指定字體的樣式(在這里是設置字體大小為 100)。

    Center 是父小部件,Text 是子小部件。Center 的作用是將其子部件(在這里是 Text)居中顯示。因此,Text 中的 "1233213ab" 將會顯示在屏幕的中央,并且字體大小是 100。

3.Scaffold 腳手架使用導航欄

第3個例子為了MaterialApp主題里面帶導航欄和背景 Scaffold參數appBar ,需要用AppBar()來創建,里面的leading(最左側)和title(中間位置)可以用Widget,例如這里用的是一個文本框Text,和 一個圖標Icon 注意使用 系統的圖標要在 pubspec.yaml 文件里配置: uses-material-design: true

?/*Scaffold 腳手架,第3個例子為了MaterialApp主題里面帶導航欄和背景參數appBar ,需要用AppBar()來創建,里面的leading(最左側)和title(中間位置)可以用Widget,例如這里用的是一個文本框Text,和 一個 圖標Icon注意使用 系統的圖標要在 pubspec.yaml 文件里配置:  uses-material-design: true*/import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';?main(){runApp(MaterialApp(home: Scaffold(//啟動了一個 MaterialApp,并將 Scaffold 作為主頁傳遞給它appBar: AppBar(// leading: Text("左側"),leading: Icon(Icons.menu),// 注意使用 系統的圖標要在 pubspec.yaml 文件里配置:  uses-material-design: truetitle: ?Icon(Icons.add),// Text("導航欄標題"),?),body:const Center(child: Text("內容123"))),));}
  • Scaffold:

    • Scaffold 是 Flutter 中的一個布局小部件,用于提供應用的基本結構(如導航欄、底部導航欄、內容區域等)。

    • Scaffold 通過參數來控制頁面的不同部分,主要包括 appBarbodyfloatingActionButton 等。

  • appBar:

    • appBarScaffold 中的一個參數,用于創建頁面頂部的導航欄。我們使用 AppBar 來設置導航欄的內容。

  • AppBar的常見參數包括:

    • leading: 用于在導航欄左側顯示內容,通常用來顯示一個圖標或按鈕。這里使用了 Icon(Icons.menu) 來顯示一個菜單圖標。

      • title: 用于設置導航欄的標題。在這里,title 使用了 Icon(Icons.add) 來顯示一個加號圖標。

  • body:

    • body 參數指定頁面的主要內容區域。在這里,body 是一個 Center 小部件,里面嵌套了一個 Text 小部件,用來顯示 "內容123" 字符串。

    • Center 小部件將它的子小部件居中顯示。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896300.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896300.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896300.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DeepSeek開源周Day1:FlashMLA引爆AI推理性能革命!

項目地址:GitHub - deepseek-ai/FlashMLA 開源日歷:2025-02-24起 每日9AM(北京時間)更新,持續五天! ? 一、開源周震撼啟幕 繼上周預告后,DeepSeek于北京時間今晨9點準時開源「FlashMLA」,打響開源周五連…

17.C++類型轉換

1. C語言中的類型轉換 在C語言中,如果賦值運算符左右兩側類型不同,或者形參與實參類型不匹配,或者返回值類型與接收返回值類型不一致時,就需要發生類型轉換,C語言中共有兩種形式的類型轉換:隱式類型轉換和顯…

springboot志同道合交友網站設計與實現(代碼+數據庫+LW)

摘 要 現代經濟快節奏發展以及不斷完善升級的信息化技術,讓傳統數據信息的管理升級為軟件存儲,歸納,集中處理數據信息的管理方式。本志同道合交友網站就是在這樣的大環境下誕生,其可以幫助使用者在短時間內處理完畢龐大的數據信…

VMware中的linux常用指令

常用 Linux 基礎命令 文件與目錄操作 ls:查看當前目錄的文件和子目錄,ls -a顯示所有文件,包括隱藏文件。cd:切換目錄,如 **cd ~** 切換到個人家目錄。pwd:查看當前目錄。mkdir:創建文件夾&#…

20250212:https通信

1:防止DNS劫持:使用 https 進行通信。 因為是SDK授權開發,需要盡量壓縮so庫文件和三方依賴。所以第一想法是使用 head only 的 cpp-httplib 進行開發。 cpp-httplib 需要 SSL 版本是 3.0及以上。但本地已經在開發使用的是1.0.2a版本,不滿足需求。 方案1:升級OpenSSL 將Op…

VisionPro-PMA工具

VisionPro-PMA工具 模板匹配的核心概念 康耐視(Cognex)的VisionPro是一款廣泛應用工業自動化的機器視覺軟件平臺,其模板匹配(Pattern Matching)功能是核心工具之一,常用與目標定位、特征識別和質量檢測等場景。 模板匹配:通過預先定義的參…

2025最新最全【大模型學習路線規劃】零基礎入門到精通_大模型 開發 學習路線

第一階段:基礎理論入門 目標:了解大模型的基本概念和背景。 內容: 人工智能演進與大模型興起。 大模型定義及通用人工智能定義。 GPT模型的發展歷程。 第二階段:核心技術解析 目標:深入學習大模型的關鍵技術和工…

使用CSS3DRenderer/CSS2DRenderer給模型上面添加html標簽

先放一下預覽圖 主要使用css2dRender和css3dRender,添加圖片和標簽。 思路:使用css3dRender添加一個圖片,然后獲取的位置坐標,使用css3dRender添加一個文字標簽,也設置這個位置坐標,此外z軸設置一個高度&a…

完美隱藏滾動條方案 (2024 最新驗證)

完美隱藏滾動條方案 (2024 最新驗證) css /* 全局隱藏豎直滾動條但保留滾動功能 */ html {overflow: -moz-scrollbars-none; /* Firefox 舊版 */scrollbar-width: none; /* Firefox 64 */-ms-overflow-style: none; /* IE/Edge */overflow-y: overlay; …

Linux 內核配置機制詳細講解

本文是對 Linux 內核配置機制 make menuconfig 的 超詳細分步解析,涵蓋其工作原理、界面操作、配置邏輯及底層實現: 一、內核配置系統概述 Linux 內核的配置系統是一個 基于文本的交互式配置工具鏈,核心目標是通過定義 CONFIG_XXX 宏來控制內…

視頻裂變加群推廣分享引流源碼

源碼介紹 視頻裂變加群推廣分享引流源碼 最近網上很火,很多人都在用,適合引流裂變推廣 測試環境:PHP7.4(PHP版本不限制) 第一次訪問送五次觀看次數,用戶達到觀看次數后需要分享給好友或者群,好友必須點擊推廣鏈接后才會增加觀看次…

python-leetcode-每日溫度

739. 每日溫度 - 力扣(LeetCode) class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n len(temperatures)answer [0] * nstack [] # 存儲索引for i, temp in enumerate(temperatures):while stack and temperat…

文件下載技術的終極選擇:`<a>` 標簽 vs File Saver.js

文件下載技術的終極選擇&#xff1a;<a> 標簽 vs File Saver.js 在 Web 開發中&#xff0c;文件下載看似簡單&#xff0c;實則暗藏玄機。工作種常糾結于 <a> 標簽的原生下載和 File Saver.js 等插件的靈活控制之間。本文將從原理、優缺點、場景對比到實戰技巧&…

deepseek sse流式輸出

鏈接 semi-ui-vue聊天組件 - 可以用這個組件優化界面 sse服務端消息推送 webflux&webclient Hi-Dream-Blog - 參考這個博客&#xff0c;可以在后臺將markdown語法轉為html 文章目錄 鏈接效果代碼pom.xmlDeepSeekControllerWebConfigDeepSeekClientAiChatRequestAiChatM…

Linux時間日期類指令

1、data指令 基本語法&#xff1a; date &#xff1a; 顯示當前時間date %Y : 顯示當前年份date %m &#xff1a; 顯示當前月份date %d &#xff1a; 顯示當前哪一天date “%Y-%m-%d %H:%M:%S" &#xff1a; 顯示年月日時分秒date -s 字符串時間 &#xff1a; 設置系統時…

SQLMesh 系列教程9- 宏變量及內置宏變量

SQLMesh 的宏變量是一個強大的工具&#xff0c;能夠顯著提高 SQL 模型的動態化能力和可維護性。通過合理使用宏變量&#xff0c;可以實現動態時間范圍、多環境配置、參數化查詢等功能&#xff0c;從而簡化數據模型的開發和維護流程。隨著數據團隊的規模擴大和業務復雜度的增加&…

鵬哥c語言數組(初階數組)

前言&#xff1a; 對應c語言視頻54集 內容&#xff1a; 一維數組的創建 數組是一組相同元素的集合&#xff0c; 數組的創建方式 type_t就是數組的元素類型&#xff0c;const_n是一個常量表達式&#xff0c;用來指定數組的大小 c99標準之前的&#xff0c;數組的大小必須是…

爬蟲運行后如何保存數據?

爬蟲運行后&#xff0c;將獲取到的數據保存到本地或數據庫中是常見的需求。Python 提供了多種方式來保存數據&#xff0c;包括保存為文本文件、CSV 文件、JSON 文件&#xff0c;甚至存儲到數據庫中。以下是幾種常見的數據保存方法&#xff0c;以及對應的代碼示例。 1. 保存為文…

計算機視覺:經典數據格式(VOC、YOLO、COCO)解析與轉換(附代碼)

第一章&#xff1a;計算機視覺中圖像的基礎認知 第二章&#xff1a;計算機視覺&#xff1a;卷積神經網絡(CNN)基本概念(一) 第三章&#xff1a;計算機視覺&#xff1a;卷積神經網絡(CNN)基本概念(二) 第四章&#xff1a;搭建一個經典的LeNet5神經網絡(附代碼) 第五章&#xff1…

linux--多進程基礎(2)GDB多進程調試(面試會問)

將其中的命令記住就行。 總結&#xff1a;GDB下默認調試父進程&#xff0c;可以設置調試父進程還是子進程&#xff0c;也可以設置調試模式&#xff0c;調試模式默認是on即一個在調試另一個直接運行&#xff0c;off就是另一個進程掛起&#xff0c;最后可以查看調試進程 一般默認…