開始使用 Jetpack Compose

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

Jetpack Compose 是建構原始 Android UI 的新型工具包。這裡我們提供使用 Compose 的相關最新資訊。

  • 總覽:查看 Compose 開發人員所有可用的資源。
  • 教學課程:學習如何使用 Compose 建立簡易的使用者介面。

基礎

  • 在 Compose 中思考:瞭解 Compose 宣告方法與先前使用的檢視畫面方法的不同,以及瞭解如何使用 Compose 建構基本的工作模型。
  • 管理狀態:瞭解如何在 Compose 應用程式中設定及使用狀態。
  • 可組合函式的生命週期:瞭解可組合函式的生命週期,以及 Compose 如何判斷是否需要重新編寫。
  • 修飾元:瞭解如何使用修飾元增強或裝飾可組合函式。
  • Compose 中的副作用:瞭解管理副作用的最佳方式。
  • Jetpack Compose 階段:瞭解 Compose為轉譯 UI 所需完成的步驟,以及如何使用該資訊撰寫有效的程式碼。
  • 架構分層:瞭解構成 Jetpack Compose 的架構層,以及傳達其設計的核心原則。
  • 效能:瞭解如何避免可能影響應用程式效能的常見程式設計問題。
  • Compose 中的語意:瞭解語意樹狀結構,此結構會以無障礙服務和測試架構的方式組織使用者介面。
  • CompositionLocal 的本機資料:瞭解如何透過 Composition 使用 CompositionLocal 來傳遞資料。

開發環境

設計

  • 版面配置:瞭解 Compose 的原始版面配置元件,以及如何設計自己的元件。
    • 版面配置基本概念:瞭解直觀應用程式 UI 的建構模塊。
    • 材料元件和版面配置:瞭解 Compose 中的材料元件和版面配置。
    • 自訂版面配置:瞭解如何控制應用程式的版面配置,以及自訂版面配置。
    • 建立自動調整版面配置:瞭解如何使用 Compose 根據不同螢幕大小、方向和板型規格建構版面配置。
    • 對齊線條:瞭解如何建立自訂對齊線條,以精確對齊並定位 UI 元素。
    • 內建測量:由於 Compose 僅允許您每次傳遞測量 UI 元素一次,因此本頁面說明如何先查詢子元素相關資訊,然後再進行測量。
    • ConstraintLayout:瞭解如何在 Compose UI 中使用 ConstraintLayout
  • 設計系統:瞭解如何導入設計系統,並讓應用程式擁有一致的外觀和風格。
  • 清單和格線:瞭解 Compose 在管理和顯示資料清單與格線的一些選項。
  • 文字:瞭解 Compose 的主要顯示及編輯文字選項。
  • 圖形:瞭解 Compose 建構及使用自訂圖片的功能。
  • 動畫:瞭解 Compose 的各種 UI 元素動畫選項。
  • 手勢:瞭解如何建構 Compose UI,藉此偵測使用者的手勢,並與使用者互動。
  • 處理使用者互動:瞭解 Compose 如何將低階輸入內容吸收為較高階互動,以便自訂元件回應使用者動作的方式。

採用 Compose

  • 在現有的應用程式中採用 Compose:瞭解如何整合 Compose 與現有應用程式的架構和 UI。
    • 在應用程式中新增 Compose:瞭解基本概念,學習如何以檢視畫面為基礎,在現有應用程式中開始使用 Compose。
    • 互通性 API:瞭解 Compose 的 API,以便整合 Compose 和以檢視畫面為基礎的使用者介面。
    • 在現有架構中使用 Compose:瞭解在應用程式採用 Compose 時,如何合併以檢視畫面為基礎和以 Compose 為基礎的兩種 UI。
    • 在現有 UI 中使用 Compose:瞭解如何讓應用程式 UI 中屬於 Compose 和非 Compose 的兩種部分,共用以檢視畫面為基礎的 UI 元素。
  • Compose 和其他程式庫:瞭解如何在 Compose 內容中檢視畫面程式庫。
  • Compose 架構:瞭解如何在 Compose 中實作單向流程模式、如何實作事件和狀態持有者,以及如何在 Compose 中使用 ViewModel
  • 導覽:瞭解如何使用 NavController,將導覽元件與您的 Compose UI 整合。
    • 回應式 UI 導覽:瞭解如何設計應用程式導覽,以依照不同螢幕大小、方向和板型規格調整。
  • 資源:瞭解如何在 Compose 程式碼中使用應用程式的資源。
  • 無障礙設計:瞭解如何依照不同的無障礙需求調整 Compose UI。
  • 測試:瞭解如何測試 Compose 程式碼。

其他資源