iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0

來到我開發之旅的第二週!在第一週,成功地從零到一,搭建並打通了n8n後端與Flutter前端的數據橋樑。

本週的進行主軸,是將極簡App塑造一個優雅的「肉體」,目標是核心UI與互動體驗。而一切的核心,都始於我們 App的最小資訊單元——靈感卡片(Inspiration Card)。

目前計劃是將奉行極簡主義,用最純粹的黑與白,打造出承載靈感內容的卡片UI。

靈感一:卡片的解剖學 —— 用Widget組合思考UI

在動手下程式前,先在腦中對「靈感卡片」進行一次設計解剖。Flutter的核心思想是「萬物皆 Widget」,一個複雜的UI,正是由一個個簡單的Widget像樂高積木一樣組合而成。

我的靈感卡片,可以拆解為以下幾個部分:

  • 容器 (Container):一個帶有圓角和陰影的 Card Widget,讓卡片在背景中脫穎而出。
  • 留白 (Padding):內容與卡片邊緣需要一些呼吸空間,Padding Widget 必不可少。
  • 垂直佈局 (Vertical Layout):卡片內的元素由上到下排列,這顯然是 Column Widget 的職責。
  • 內容 (Content):摘要 (summary)、標籤 (tags)、來源 (title)、間距 (Spacing)

靈感二:積木搭建 —— 用 Card、Column、Text 實作卡片

將剛剛的設計藍圖,轉化為實際的Flutter程式碼。inspiration_card.dart將會是一個 StatelessWidget,它接收一個Inspiration物件,並根據其內容來渲染UI。

靈感三:設計的靈魂 —— 用 Google Fonts 注入風格

字體功能完整,但缺乏情感和個性~對於一個以內容為核心的App,字體本身就是使用者體驗的一部分,一個好的字體,能讓閱讀成為享受。

Flutter社群提供了強大的google_fonts套件,讓我們可以輕鬆地在App中使用上千種高品質的Google字體。

在專案裡執行:(先簡單套用google fonts,後面再優化)
flutter pub add googlefonts

最後執行 flutter run -d chrome -t lib/main.dart
展示:

https://ithelp.ithome.com.tw/upload/images/20250909/20177971JTTvwgdMCW.png

明日預告:讓App動起來

今天不再只是看著Console裡的文字,而是親手設計並打造出了一個能承載這些文字的優雅容器——InspirationCard。學習了如何用基礎Widget進行組合佈局,並透過google_fonts為設計注入了靈魂。

但現在的卡片還只是個靜態的「展示品」,還無法互動。明天將為它注入「動作」,學習滑動的藝術,實現Tinder-like的卡片滑動效果,這將是App的核心互動模式。明天見!


【哈囉你好:)感謝你的閱讀!其他我會常出沒的地方:Threads


上一篇
30 天做一個極簡App:打造資料模型與 Repository
系列文
Mobile Dev|日更靈感來源 App:Flutter × LLM × n8n,每天只推 3 則!8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言