Flutter 與 Android 原生布局組件對照表(完整版)

本對照表用于幫助 Android 開發者快速理解 Flutter 中的布局組件與原生布局的關系。


📘 Flutter ? Android 布局組件對照表

Flutter WidgetAndroid View/Layout說明
ContainerFrameLayout / View通用容器,可設置背景、邊距、對齊等
RowLinearLayout (horizontal)橫向線性排列
ColumnLinearLayout (vertical)縱向線性排列
StackFrameLayout層疊布局
Positioned (在 Stack 內)FrameLayout + layout_gravity / margin絕對定位的子項
Align / CenterRelativeLayout + layout_centerInParent / gravity對齊到父級
ExpandedLinearLayout + layout_weight占據剩余空間
Flexiblelayout_weight + 自適應靈活伸縮(類似 weight 的 wrap_content)
SizedBoxView + layout_width/height固定尺寸
Paddingandroid:padding設置內邊距
Margin (通過 Padding 外包)android:layout_marginFlutter 沒有 Margin,通常通過外層 Padding 模擬
WrapFlexboxLayout / 自定義 FlowLayout自動換行布局
TableTableLayout表格布局
IntrinsicWidth/Heightwrap_content尺寸自適應內容(性能差時慎用)
TransformView.setRotation/Scale/Translation變換視圖
CustomPaintCanvas + View 自定義繪制自定義繪圖

📱 滾動與列表布局

Flutter WidgetAndroid View/Layout說明
SingleChildScrollViewScrollView單個滾動子項
ListViewListView / RecyclerView垂直滾動列表
GridViewGridView / RecyclerView + GridLayoutManager網格布局
PageViewViewPager2翻頁組件
CustomScrollView + SliversRecyclerView + 多類型 ViewType自定義滾動內容

🔧 復雜布局、定位、對齊

Flutter WidgetAndroid View/Layout說明
RelativeLayout 等效無直接對應(但以下組合可實現)
Stack + PositionedRelativeLayout + rules實現子元素相對布局
AlignRelativeLayout + alignParentX/Y單個子項對齊
LayoutBuilderonMeasure() + 自定義布局根據父布局約束決定子布局
CustomMultiChildLayoutViewGroup + onLayout()自定義多個子控件位置
FractionallySizedBox百分比布局(無直接原生對應)占父布局一定比例
Positioned.fillmatch_parent填滿父容器
OverflowBoxclipChildren=false允許子項溢出父容器

🧩 頁面結構與導航

Flutter WidgetAndroid View/Layout說明
ScaffoldActivity + 頁面根布局頁面基礎骨架
AppBarToolbar頂部導航欄
BottomNavigationBarBottomNavigationView底部導航欄
DrawerDrawerLayout + NavigationView左右側滑菜單
TabBar + TabBarViewTabLayout + ViewPager2頂部 Tab 頁面切換
Navigator + RouteFragmentManager / Intent頁面導航系統

🎨 控件級對應(附加)

Flutter WidgetAndroid View說明
TextTextView顯示文本
TextFieldEditText輸入框
ElevatedButtonButton默認按鈕
IconButtonImageButton圖標按鈕
ImageImageView顯示圖片
CheckboxCheckBox復選框
RadioRadioButton單選按鈕
SwitchSwitch開關按鈕
SliderSeekBar滑動條
ProgressIndicatorProgressBar進度條
AlertDialogAlertDialog彈窗對話框
SnackBarToast / Snackbar底部提示
DropdownButtonSpinner下拉菜單

🧠 總結建議

  • Flutter 更強調組合式聲明性布局,Android 更偏向靜態 XML。
  • Flutter 的 Stack + Positioned 是最接近 RelativeLayout 的實現方式。
  • 靈活使用 AlignExpandedFlexible 可以覆蓋大部分 Android 布局需求。

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

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

相關文章

ps填充圖層

在Photoshop(PS)中,填充圖層是一種強大的工具,它允許用戶在不破壞原始圖像數據的情況下,快速為圖像添加顏色、漸變或圖案等填充效果。以下從填充圖層的類型、創建方法、編輯與修改、應用場景等方面進行詳細介紹。 填充…

網頁前端開發(基礎進階1--盒子模型)

顏色表示方法3種: 1.關鍵字: color:green; gray red yellow 2.rgb表示法:紅,綠,藍三原色。rgb(r,g,b),r表示紅色,g表示綠…

第10講、Odoo 18框架設計原理全解析

前言 Odoo是一套開源的企業資源規劃(ERP)系統,以其模塊化、可擴展性和全面的業務應用套件而聞名。Odoo 18作為其最新版本,在架構設計、前端技術和后端實現上都有顯著的創新和優化。本文將從前端的OWL組件化、模塊化,到后端的ORM封裝&#xf…

CSS3 漸變、陰影和遮罩的使用

全文目錄: 開篇語**前言****1. CSS3 漸變 (Gradient)****1.1 線性漸變 (linear-gradient)****1.2 徑向漸變 (radial-gradient)** **2. CSS3 陰影 (Shadow)****2.1 盒子陰影 (box-shadow)****2.2 文本陰影 (text-shadow)** **3. CSS3 遮罩 (Mask)****3.1 基本遮罩 (m…

[Linux]虛擬地址到物理地址的轉化

[Linux]虛擬地址到物理地址的轉化 水墨不寫bug 文章目錄 一、再次認識地址空間二、頁表1、頁表的結構設計2、頁表節省了空間,省在哪里?3、頁表的物理實現 一、再次認識地址空間 OS和磁盤交互的內存基本單位是4KB,這4KB通常被稱為內存塊。OS對…

Kubernetes(K8s)核心架構解析與實用命令大全

在容器化技術席卷全球的今天,Kubernetes(簡稱K8s,以“8”代替“ubernete”八個字母)已成為云原生應用部署和管理的核心基礎設施。作為Google基于內部Borg系統開源打造的容器編排引擎,K8s不僅解決了大規模容器管理的難題…

基于微信小程序的scratch學習系統

博主介紹:java高級開發,從事互聯網行業六年,熟悉各種主流語言,精通java、python、php、爬蟲、web開發,已經做了六年的畢業設計程序開發,開發過上千套畢業設計程序,沒有什么華麗的語言&#xff0…

postgresql 流復制中指定同步的用戶

postgresql 流復制中指定同步的用戶 在創建postgresql流復制的過程中,可以指定用戶名。 主庫pg_hba.conf配置 vi $PGDATA/pg_hba.conf host replication repl 192.168.56.12/32 md5 host all all 0.0.0.0/0 md5主庫創建同步的用戶 # 主庫創建 replicator 流復制…

基于springboot的運動員健康管理系統

博主介紹:java高級開發,從事互聯網行業六年,熟悉各種主流語言,精通java、python、php、爬蟲、web開發,已經做了六年的畢業設計程序開發,開發過上千套畢業設計程序,沒有什么華麗的語言&#xff0…

工具識別系統Python+深度學習+人工智能+卷積神經網絡算法+TensorFlow+圖像識別

一、介紹 工具識別系統,使用Python作為主要編程語言,基于TensorFlow搭建卷積神經網絡算法,通過收集了8種常見的日常工具圖片(“汽油罐(Gasoline Can)”, “錘子(Hammer)”, “鉗子&…

2024 CKA模擬系統制作 | Step-By-Step | 8、題目搭建-創建 Ingress

目錄 ??????免費獲取題庫配套 CKA_v1.31_模擬系統 一、題目 二、核心考點 Ingress 資源定義 Ingress Controller 依賴 服務暴露驗證 網絡層次關系 三、搭建模擬環境 1.創建命名空間 2.安裝ingress ingress-nginx-controller 3.創建hello.yaml并部署 四、總結 …

關于uv 工具的使用總結(uv,conda,pip什么關系)

最近要開發MCP 項目,uv工具使用是官方推薦的方式,逐要了解這個uv工具。整體理解如下: 一.uv工具的基本情況 UV 是一個由 Rust 編寫的現代化 Python 包管理工具,旨在通過極速性能和一體化功能替代傳統工具(如 pip、vi…

嵌入式學習筆記 - 新版Keil軟件模擬時鐘Xtal灰色不可更改的問題

在新版Keil軟件中,模擬時鐘無法修改XTAL頻率,默認只能使用12MHz時鐘。?這是因為Keil MDK從5.36版本開始,參數配置界面不再支持修改系統XTAL頻率,XTAL選項變為灰色,無法修改。這會導致在軟件仿真時出現時間錯誤的問題&…

Spring AI Image Model、TTS,RAG

文章目錄 Spring AI Alibaba聊天模型圖像模型Image Model API接口及相關類實現生成圖像 語音模型Text-to-Speech API概述實現文本轉語音 實現RAG向量化RAGRAG工作流程概述實現基本 RAG 流程 Spring AI Alibaba Spring AI Alibaba實現了與阿里云通義模型的完整適配,…

Java進階---JVM

JVM概述 JVM作用: 負責將字節碼翻譯為機器碼,管理運行時內存 JVM整體組成部分: 類加載系統(ClasLoader):負責將硬盤上的字節碼文件加載到內存中 運行時數據區(RuntimeData Area):負責存儲運行時各種數據 執行引擎(Ex…

數據類型檢測有哪些方式?

typeof 其中數組 對象 null都會判斷為Object,其他正確 typeof 2 // number typeof true //bolean typeof str //string typeof [] //Object typeof function (){} // function typeof {} //object typeof undefined //undefined typeof null // nullinstanceof 判斷…

NodeJS全棧開發面試題講解——P6安全與鑒權

? 6.1 如何防止 SQL 注入 / XSS / CSRF? 面試官您好,Web 安全三大經典問題分別從不同層面入手: 🔸 SQL 注入(Server端) 原理:惡意用戶將 SQL 注入查詢語句拼接,導致數據泄露或破壞…

npm error Cannot find module ‘negotiator‘ 的處理

本想運行npm create vuelatest,但提示: npm error code MODULE_NOT_FOUND npm error Cannot find module negotiator npm error Require stack: npm error - C:\Users\Administrator\AppData\Roaming\nvm\v18.16.1\node_modules\npm\node_modules\tuf-j…

Python爬蟲:AutoScraper 庫詳細使用大全(一個智能、自動、輕量級的網絡爬蟲)

更多內容請見: 爬蟲和逆向教程-專欄介紹和目錄 文章目錄 一、AutoScraper概述1.1 AutoScraper介紹1.2 安裝1.3 注意事項二、基本使用方法2.1 創建 AutoScraper 實例2.2 訓練模型2.3 保存和加載模型2.4 數據提取方法2.5 自定義規則三、高級功能3.1 多規則抓取3.2 分頁抓取3.3 代…

【Netty系列】解決TCP粘包和拆包:LengthFieldBasedFrameDecoder

目錄 如何使用? 1. 示例代碼(基于Netty) 2. 關鍵參數解釋 3. 協議格式示例 4. 常見配置場景 場景1:長度字段包含自身 場景2:長度字段在消息中間 5. 注意事項 舉個例子 完整示例:客戶端與服務端交互…